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]
执行内建函数。当您定义了与内建函数相同的指令时,可用此命令来执行内建函数。
--------------------------------------------------------------------------------
cd[dir]
更换目录到dir。如果没有指定,内定为HOME所指定的目录。
--------------------------------------------------------------------------------
command[-pVv]command[arg...]
用command指定可取消正常的shellfunction寻找。只有内建命令及在PATH中找得到的才会被执行。"-p"选项,搜寻命令的方式是用PATH来找。"-V"或"-v"选项,会显示出该命令的一些简约描述。
--------------------------------------------------------------------------------
|