getopts一般格式为:
getopts option_string variable
指定变量取值,即在option_string中将一个冒号放在选项后。但当冒号放在第一个选项时,代表其作为一个选项存在,具体含意为如果某选项设置为取值传递但却未传值时,返回:)选项后的信息,若未添加此选项则默认系统也会返回一个错误信息,只是错误信息提示并不明确。
如getopts ahfvc: OPTION表明选项a、h、f、v可以不加实际值进行传递,而选项c必须取值。使用选项取值时,必须使用变量O P TA R G保存该值。
用法例:
#!/bin/bash
if [ $# -lt 1 ]
then
echo "there is no option";
else
while getopts ":Iti:s:v" opt;
do
case $opt in
I)echo "option is I "
;;
t)echo "option is t "
;;
i)ii=$OPTARG;echo "option is i,the value is $ii";
;;
s)ss=$OPTARG;echo "option is s ,the value is $ss";
;;
v)echo "option is v \n";
;;
:)
echo ">>> Error: '-$OPTARG' requires an argument"
;;
?)paralist=-1;
echo ">>> Error: '-$OPTARG' not supported,please input valid argument [Itisv]"
;;
esac
done
fi
参考文献:
解析选项getopts的用法及例子。
shell中的getopts介绍。http://www.xxlinux.com/linux/article/development/shell/2007-08-31/9565.html
阅读(719) | 评论(0) | 转发(0) |