设置首页  |   加入收藏  |  联系我们   
您的位置: 主页>Linux知识>Linux程序设计>正文
Linux程式设计-11.ShellScript(bash)--(13)Bash内建指令集
文章来源:Linuxdby.com  编辑:  发布时间:2007-11-01

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]
执行内建函数。当您定义了与内建函数相同的指令时,可用此命令来执行内建函数。



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


Tags:指令 设计 返回 如果 指定 jobspec 执行 列出 目前 使用
Google
 
上一篇: Linux程式设计-11.ShellScript(bash)--(11)参数与变数   下一篇: Linux程式设计-11.ShellScript(bash)--(12)函数function
【返回顶部】 【打印】 【大】 【中】 【小】 【关闭】

 我来说两句
用户名: 新注册) 密码: 匿名评论 [论坛讨论]
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 相关文章
 热门文章

 
版权所有  2005-2006  Linux集中营  闽ICP备07500055号