介绍
getpots命令的作用是处理命令行参数,并校验有效选项。
简单使用
在运行shell脚本的时候,后面加上选项和参数,即可在shell脚本中进行处理。
举例:
# 选项会进入opt,携带的参数会进入$OPTARG,$OPTIND表示命令行的下一个选项或参数的索引
# "a:b:cd"中"a"后面有冒号,表示a可以携带参数,否则不能传进去参数
while getopts "a:b:cd" opt; do
case $opt in
a)
echo "这是a选项 {$OPTARG} {$OPTIND}"
;;
b)
echo "这是b选项 {$OPTARG} {$OPTIND}"
;;
c)
echo "这是c选项 {$OPTARG} {$OPTIND}"
;;
\?)
echo "没有此选项 {$OPTARG} {$OPTIND}"
;;
esac
done
运行结果:
root@***:~/shell/test# ./test1.sh -a lbr
这是a选项 {lbr} {3}
root@***:~/shell/test# ./test1.sh -c lbr
这是c选项 {} {2}
root@***:~/shell/test# ./test1.sh -d lbr
root@***:~/shell/test# ./test1.sh -e lbr
./test1.sh: illegal option -- e
没有此选项 {} {2}