Linux程式设计11Shell Scriptbash13Bash内建指令集.docx

上传人:b****6 文档编号:7977450 上传时间:2023-01-27 格式:DOCX 页数:11 大小:21.05KB
下载 相关 举报
Linux程式设计11Shell Scriptbash13Bash内建指令集.docx_第1页
第1页 / 共11页
Linux程式设计11Shell Scriptbash13Bash内建指令集.docx_第2页
第2页 / 共11页
Linux程式设计11Shell Scriptbash13Bash内建指令集.docx_第3页
第3页 / 共11页
Linux程式设计11Shell Scriptbash13Bash内建指令集.docx_第4页
第4页 / 共11页
Linux程式设计11Shell Scriptbash13Bash内建指令集.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

Linux程式设计11Shell Scriptbash13Bash内建指令集.docx

《Linux程式设计11Shell Scriptbash13Bash内建指令集.docx》由会员分享,可在线阅读,更多相关《Linux程式设计11Shell Scriptbash13Bash内建指令集.docx(11页珍藏版)》请在冰豆网上搜索。

Linux程式设计11Shell Scriptbash13Bash内建指令集.docx

Linux程式设计11ShellScriptbash13Bash内建指令集

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"选项,会显示出该命令的一些简约描述。

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

declare[-frxi][name[=value]]

typeset[-frxi][name[=value]]

宣告参数并给它们设定属性。

如果没有给定名称,将会显示各参数值。

-f:

仅使用函数名称。

-r:

将name设为readonly。

-x:

将name输出给後续环境使用。

-i:

该参数被设为integer来使用,可用於算术表述。

用"+"时,关闭该属性。

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

dirs[-l][+/-n]

显示目前记忆的目录。

目录可透过pushd/popd来操作。

+n:

显示开始的记录n个。

-n:

显示结尾的记录n个。

-l:

显示较多的资讯。

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

echo[-neE][arg...]

输出显示args,由空白分隔。

返回值永为零。

-n:

不跳行。

-e:

启动"\"符号的解译。

-E:

将ESC解译功能取消。

"\a":

alert(bell),发出声响。

"\b":

backspace,倒退。

"\c":

suppresstrailingnewline,不跳行。

"\f":

formfeed,跳行跳格。

"\n":

newline,新行。

"\r":

carriagereturn,回到行起点。

"\t":

horizontaltab,水平跳位。

"\v":

verticaltab,垂直跳位。

"\\":

输出"\"。

"\nnn":

输出ASCIICode号码nnn(八进位)。

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

enable[-n][-all][name...]

启动或关闭内建函数命令。

使用"-n"将所有指定命令皆关闭,否则都是启动的。

如果只有"-n"参数,它将会显示所有关闭的函数。

如果只有"-all",它将会显示所有内建命令。

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

eval[arg...]

读取args,并将args合为一个命令,然後执行。

其返回值成为eval的返回值。

如果没有参数,eval返回True。

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

exec[[-]command[arguments]]

当命令执行时,该命令取代shell,没有新的process产生。

如果第一个参数是"-",shell会将"-"放入第零个参数,传给command。

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

export[-nf][name[=word]]...

export-p

将name输出给环境,给往後的命令使用。

"-f"选项表示name是函数。

"-p"显示出所有export的名称。

"-n"移除name。

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

set[--abefhkmnptuvxldCHP][-ooption][arg...]

-a:

自动将变数标记为可让後面环境所使用。

-b:

立即报告被终结的背景程式状态。

-e:

当命令(simple-command,见後面)返回非零值时,立即跳出。

-f:

取消pathnameexpansion。

-h:

找出所记忆的函数命令位置。

-k:

所有keyword参数都放到环境中。

-m:

监督模式。

-n:

读取命令,但不要执行。

可用於语法检查。

-p:

打开privileged模式。

-t:

当读取一个命令并执行後,立即离开。

-u:

当参数展开时,把unset参数当成是错误。

-v:

列出shellinputlines。

-x:

在展开每个simple-command後,bash显示展开值在PS4上。

-l:

储存并还原namebinding在for语法中。

-d:

关闭hasingcommand搜寻。

-C:

跟`noclobber=`一样。

请见内定参数一节。

-H:

启动!

stylehistorysubstitution。

-P:

在使用像cd这种指令时,不要跟随symboliclinks。

--:

"--"之後,没有参数跟在後面。

-:

指定将所有後面的参数当成是位置参数。

-ooption-name:

option-name可以是以下之一

allexport:

与"-a"相同。

braceexpand:

启动BraceExpansion。

这是内定设定。

emacs:

使用emacs-style命令列编辑界面。

errexit:

与"-e"相同。

histexpand:

与"-H"相同。

ignoreeof:

效果跟`IGNOREEOF=10`一样。

interactive-commands:

允许#做为解。

monitor:

与"-m"相同。

noclobber:

与"-C"相同。

noexec:

与"-n"相同。

noglob:

与"-f"相同。

nohash:

与"-d"相同。

notify:

与"-b"相同。

nounset:

与"-u"相同。

physical:

与"-P"相同。

posix:

Bash行为修改为Posix1003.2标准。

privileged:

与"-p"相同。

verbose:

与"-v"相同。

vi:

使用vi-style命令列编辑程式。

xtrace:

与"-x"相同。

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

unset[-fv][name...]

移除对映於name的参数。

要注意PATH、IFS、PPID、PS1、PS2、UID、EUID不能unset。

若RANDOM、SECONDS、LINENO、HISTCMD被unset,它们会丧失原有意义,既始它们後来被重设也一样。

返回值为True,除非name是不能被unset的。

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

fc[-eename][-nlr][first][last]

fc-s[pat=rep][cmd]

修正命令。

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

getoptsoptstringname[args]

解析位置参数。

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

hash[-r][name]

对每个name命令的完整路径记录下来。

"-r"选项强迫忘记所有命令位置。

如果没有给参数,则将会印出所有的资讯。

返回值为True。

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

help[pattern]

显示协助资讯。

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

history[n]

history-rwan[filename]

没有参数时,会显示所下命令的历史记录。

带有参数"n"则显示最後n个。

其它参数如下:

-a:

新增"新历史"到历史档中。

-n:

读取尚未读到历史中的记录。

-r:

读取filename做为历史档,并用它为目前历史记录。

-w:

将现有历史记录写到filename中。

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

letarg[arg...]

算术表述。

请参考算术表述一节。

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

local[name[=value]...]

产生一个局部参数。

如果用於function,则其作用围在function内及其子函数。

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

logout

离开loginshell。

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

popd[+/-n]

移除目录堆叠。

"+n"移除上面n个,"-n"移除下面n个。

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

pushd[dir]

pushd+/-n

将目录新增到目录堆叠的最上面。

"+n"旋转该堆叠,使第n个目录变成最上面。

"-n"旋转该堆叠,使倒数第n个目录变成最上面。

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

pwd

列出目前工作目录的绝对路径。

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

read[-r][name...]

读进一行,然後第一

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1