tempad
ReadyGo!技术成就梦想 >>Shell教程 >> Linux程式设计-11.ShellScript(bash)--(13)Bash内建指令集

Linux程式设计-11.ShellScript(bash)--(13)Bash内建指令集

ReadyGo!技术成就梦想 网络搜索 efish 2008-2-24 2:50:06
Bash内建指令集
以下的命令,大部份都没有使用例,您可能会看不出所以然,摸不着头脑。在我加入例说明前,建议您"manbash",然後自己实际操作一次。



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

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

永远返回零。它的用法跟true一样。



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

.filename
sourcefilename
由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...]
昵称命令
例如您如果来自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
unalias取消alias的设定。"unalias-a"将全部alias取消。


unaliascopy

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

bg
将指定任务放到背景中,如果jobspec未指定,内定为目前的。



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

fg
将指定任务放到前景中,如果jobsepc没有指定,那麽内定为目前的。



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

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

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

jobs-xcommand

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



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

kill...
将sigspec的信号送到pid或jobspec。
sigspec可以是SIGKILL/KILL这种形式或是信号号码。如果sigspec是signalname,则大小写无关,而且可以没有SIG。
kill-l
列出信号名称。

#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可以是个jobspec或ProcessID。如果n未指定,则等待所有的子行程,及返回值为零。若n为不存在的job或process,则返回127。否则,返回值为最後一个job/process的ExitStatus。



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

bind
bind-ffilename
bindkeyseq:function-name
显示出目前readline的按键及链结函数设定或是巨集。

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



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

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



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

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



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

exit
离开程式。n是ExitStatus。



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

return
在function中使用。n为返回值,其作用与ExitStatus一样。



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

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



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

cd
更换目录到dir。如果没有指定,内定为HOME所指定的目录。



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

commandcommand
用command指定可取消正常的shellfunction寻找。只有内建命令及在PATH中找得到的才会被执行。"-p"选项,搜寻命令的方式是用PATH来找。"-V"或"-v"选项,会显示出该命令的一些简约描述。



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

declare]
typeset]
宣告参数并给它们设定属性。如果没有给定名称,将会显示各参数值。

    

[1]  [2]  [3]  [4]  [5]  上一页  下一页
责任编辑: efish 参与评论 查找更多:
相关文章
Linux程式设计-11.ShellScript(bash)--(12)函数func… Linux程式设计-11.ShellScript(bash)--(12)函数function
Linux程式设计-11.ShellScript(bash)--(14)Bash内建… Linux程式设计-11.ShellScript(bash)--(14)Bash内建参数
Linux程式设计-11.ShellScript(bash)--(15)提示符号 Linux程式设计-11.ShellScript(bash)--(15)提示符号
Linux程式设计-11.ShellScript(bash)--(16)算术表述 Linux程式设计-11.ShellScript(bash)--(16)算术表述
Linux程式设计-11.ShellScript(bash)--(17)重导Redi… Linux程式设计-11.ShellScript(bash)--(17)重导Redirection
Linux程式设计-11.ShellScript(bash)--(18)语法 Linux程式设计-11.ShellScript(bash)--(18)语法
Shell递归程序设计-目录列表 Shell递归程序设计-目录列表
写shellscript时,要如何从terminal读入字元? 写shellscript时,要如何从terminal读入字元?
我要如何将csh的stdout与stderr导向到不同的地方呢? 我要如何将csh的stdout与stderr导向到不同的地方呢?
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn

分类导航
ReadyGo!技术成就梦想