35.setenv命令
设置环境变量
例子:
设置环境变量INFORMIXDIR的值为$INFORMIX_HOME
setenv INFORMIXDIR "$INFORMIX_HOME"
36.repeat命令
用来执行只有一个固定次数的命令。
例子:
在屏幕上显示连字符(-)80次
repeat 80 echo ‘-‘
37.getopts命令
用来解析命令选项。
用法:
getopts optstring name[arg...]
说明:
optstring必须包含使用getopts将识别的选项字母,如果字母右跟随一个冒号,则选项期望有一个变元或变元组,并由空格分开。
每一次调用时,getopts把下一个选项放入shell变量Name中,且在shell变量OPTIND中处理下一个变元的索引;无论是调用shell和sehll过程,OPTIND初始化为1。
当一个选项需要一个选项变元,getopts把它放置在shell变量OPTARG中。
如果遇到一个非法选项,将把?放入name中。
当遇到选项结束时,getopts将带着一个非0出口状态退出;专用选项—-可以用来确定选项结束的边界。
在缺省状态下,getopts解析位置参数,如果getopts命令行中给出变元(arg...)则getopts将解析它们。
实例:
下述的shell程序框架显示如何处理选项a或b及选项o的命令变元的:
while getopts abo:c OPTION
do
case $OPTION in
a|b)
FLAG=$OPTION
;;
o)
ORAG=$OPTARG
;;
\?)
echo $USAGE
exit 2
;;
esac
done
shift `expr $OPTIND – 1`
此代码接收下述任意等价命令:
cmd –a –b -o123 file
cmd –a –b -- –o123 file #将忽略”—-“以后的选项
cmd –ab –o”xxx” file
cmd –o”xxx” –a –b file