linux程式设计-11.shellscript(bash)--(13)bash…

2008-02-23 05:45:09来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

Bash内建指令集
以下的命令,大部份都没有使用例,您可能会看不出所以然,摸不着头脑。在我加入例说明前,建议您"manbash",然後自己实际操作一次。



--------------------------------------------------------------------------------

:[arguments]
不做任何事,除了[arguments]一些参数展开及一些特定重导向的作业外。

永远返回零。他的用法跟true相同。



--------------------------------------------------------------------------------

.filename[arguments]
sourcefilename[arguments]
由filename中读取命令,并执行。
您会在/etc/rc.d/*中发现很多
./xxxx
的指令,而xxxx的permission都不是可执行的。事实上,在tcsh中,需要用
source/xxxx
来做同样的指令。
注意到"."的後面是有空格的(比较一下"./"跟"./",不相同)。filename是内含指令的纯文字档即可,无须chmod755filename。


filename:my_source
DEV=lo
IP=127.0.0.1
NETMASK=255.0.0.0
BROADCAST=127.255.255.255

ifconfig$IPnetmask$NETMASKbroadcast$BROADCASTdev$DEV

接下来
.my_source

sourcemy_source

便可执行该script,而无需"chmod755my_source"



--------------------------------------------------------------------------------

alias[name[=value]...]
昵称命令
例如您假如来自DOS的世界,对UNIX的指令不习惯,可用alias来修改,以符合您的习惯。


aliasls="ls--color"
aliasdir="ls"
aliascd..="cd.."
aliascopy="cp-f"#dangerous,recommend,"cp-i"
aliasdel="rm-f"#dangerous,recommend,"rm-i"
aliasmove="mv-f"#dangerous,recommend,"mv-i"
aliasmd="mkdir"
aliasrd="rmdir"

--------------------------------------------------------------------------------

unalias[-a][name...]
unalias取消alias的设定。"unalias-a"将全部alias取消。


unaliascopy

--------------------------------------------------------------------------------

bg[jobspec]
将指定任务放到背景中,假如jobspec未指定,内定为现在的。



--------------------------------------------------------------------------------

fg[jobspec]
将指定任务放到前景中,假如jobsepc没有指定,那麽内定为现在的。



--------------------------------------------------------------------------------

jobs[-lnp][jobspec...]
第一种形式列出现在正在工作的任务。
-l:除了列出一般资讯外,还列出ProcessIDs。
-p:仅列出该工作群"首脑"(Processgroupleader)的ProcessID.
-n:则仅列出有改变的jobs的状态。
假如给定jobspec,输出资讯则只有该jobspec。

返回值为零,除非有非法的选项发生。

jobs-xcommand[args...]

假如使用第二种形式(-x),jobs取代指定的command及args,并执行返回其ExitStatus。



--------------------------------------------------------------------------------

kill[-ssigspec|-sigspec][pid|jobspec]...
将sigspec的信号送到pid或jobspec。
sigspec能够是SIGKILL/KILL这种形式或是信号号码。假如sigspec是signalname,则大小写无关,而且能够没有SIG。
kill-l[signum]
列出信号名称。

[foxman@foxmanbash]#kill-l
1)SIGHUP2)SIGINT3)SIGQUIT4)SIGILL
5)SIGTRAP6)SIGIOT7)SIGBUS8)SIGFPE
9)SIGKILL10)SIGUSR111)SIGSEGV12)SIGUSR2
13)SIGPIPE14)SIGALRM15)SIGTERM17)SIGCHLD
18)SIGCONT19)SIGSTOP20)SIGTSTP21)SIGTTIN
22)SIGTTOU23)SIGURG24)SIGXCPU25)SIGXFSZ
26)SIGVTALRM27)SIGPROF28)SIGWINCH29)SIGIO
30)SIGPWR



--------------------------------------------------------------------------------

wait[n]
等待指定的行程,并返回其结束状态。n能够是个jobspec或ProcessID。假如n未指定,则等待任何的子行程,及返回值为零。若n为不存在的job或process,则返回127。否则,返回值为最後一个job/process的ExitStatus。



--------------------------------------------------------------------------------

bind[-mkeymap][-lvd][-qname]
bind[-mkeymap]-ffilename
bind[-mkeymap]keyseq:function-name
显示出现在readline的按键及链结函数设定或是巨集。

-mkeymap:设定keymapbinding。
-l:显示出任何readlinefunction的名称。
-v:显示出现在的functionname及bindings。
-d:显示出functionname及bindings。
-ffilename:从filename读取keybindings。
-qfunction:询问那个按键触发function。



--------------------------------------------------------------------------------

break[n]
跳出控制回圈for/while/until中使用。假如有指定n,则跳出n层。n必须是大於等於1。若n大於巢状圈数,则任何的圈都会跳离。返回值回零。



--------------------------------------------------------------------------------

continue[n]
还原控制回圈for/while/until中使用。假如有指定n,则返回n层。n必须是大於等於1。若n大於巢状圈数,则还原到最上层。返回值回零。



--------------------------------------------------------------------------------

exit[n]
离开程式。n是ExitStatus。



--------------------------------------------------------------------------------

return[n]
在function中使用。n为返回值,其作用和ExitStatus相同。



--------------------------------------------------------------------------------

builtinshell-builtin[arguments]
执行内建函数。当您定义了和内建函数相同的指令时,可用此命令来执行内建函数。



--------------------------------------------------------------------------------

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: c#中结构和类的区别_c#教程

下一篇: c#.net网络程式研发-socket篇 _c#应用