选项用来更改shell或/和脚本行为的机制.set命令用来在脚本里激活各种选项.在脚本中任何你想让选项生效的地方,插入set-ooption-name或,用更简短的格式,set-option-abbrev.这两种格式都是等价的. 1 #!/bin/bash 2 3 set-overbose 4 #执行前打印命令. 5 1 #!/bin/bash 2 3 set-v 4 #和上面的有完全相同的效果. 5 为了在脚本里停用一个选项,插入set+ooption-name或set+option-abbrev. 1 #!/bin/bash 2 3 set-overbose 4 #激活命令回显. 5 command 6 ... 7 command 8 9 set+overbose 10 #停用命令回显. 11 command 12 #没有回显命令了. 13 14 15 set-v 16 #激活命令回显. 17 command 18 ... 19 command 20 21 set+v 22 #停用命令回显. 23 command 24 25 exit0 26 另一个在脚本里启用选项的方法是在脚本头部的#!后面指定选项. 1 #!/bin/bash-x 2 # 3 #下面是脚本的主要内容. 4 从命令行来激活脚本的选项也是可以办到的.一些不能和set一起用的选项可以用在命令行指定.-i是其中之一,可以使脚本以交互方式运行.bash-vscript-namebash-overbosescript-name下面的表格列举了一些有用的选项.它们都可以用简短格式来指定(以一个短横线开头)也可以用完整的名字来指定(用双短横线开头或用-o来指定).表1.Bash选项缩写名称作用-Cnoclobber防止重定向时覆盖文件(此作用会被>|覆盖)-D(none)列出双引号引起的含有$前缀的字符串,但不执行脚本中的命令-aallexport导出所有定义的变量到环境变量中-bnotify当后台任务终止时给出通知(在脚本中用的不多)-c...(none)从...读命令-eerrexit脚本发生第一个错误时就中止脚本运行,即当一个命令返回非零值时退出脚本(除了until或whileloops,if-tests,listconstructs)-fnoglob文件名替换停用(指像*这样的符号不能替换为文件名了)-iinteractive使脚本以交互式方式运行-nnoexec从脚本里读命令但不执行它们(语法检查)-oOption-Name(none)调用Option-Name选项-oposixPOSIX更改Bash或脚本的行为,使之符合POSIX标准.-pprivileged脚本作为"suid"程序来运行(小心!)-rrestricted脚本在受限模式中运行(参考第21章).-sstdin从标准输入读命令-t(none)第一个命令后就退出-unounset当使用一个未定义的变量时产生一个错误信息,并强制退出脚本。-vverbose执行命令之前打印命令到标准输出-xxtrace与-v相似,但打印完整的命令-(none)选项列表结束的标志.后面的参数是位置参数(positionalparameters).--(none)释放位置参数.如果参数列表被指定了(--arg1arg2),则位置参数被依次设置为参数列表中的值.
上一篇:脚本编程风格_程序数据_shell
下一篇:消除重复数据删除的四大误区_程序数据_数据库