“ 目录:RHCA+ -> 5 Shell脚本 -> 19 getopts命令(获取选项) ”
内置变量 | 作用 |
OPTARG | 参数值 |
OPTIND | 执行下一个选项的下标 |
[root@wuzuniao ~]# vim 22.sh #编写脚本,获取多个选项
#!/bin/bash
while getopts ":a:b:" OPT; do #第一个:表示获取到未提前定义的参数不报错;a、b表示匹配的选项;字母后面的:表示此选项后面可接参数,后面不带:时不能带参数
case $OPT in
a)
echo "a" #匹配选项输出对应的值
echo $OPTARG #打印参数值
echo $OPTIND #打印下一个选项的下标,也就是当前有2个参数的话,下一个下标就是3
;;
b)
echo "b"
echo $OPTARG
echo $OPTIND
;;
\?)
echo "选项输入错误,正确格式:22.sh [-a 参数] [-b 参数]"
;;
esac
done
[root@wuzuniao ~]# bash 22.sh -c a #验证错误参数,打印正常
选项输入错误,正确格式:22.sh [-a 参数] [-b 参数]
[root@wuzuniao ~]# bash 22.sh -a aa -b bb #验证正常参数,打印正常
a
aa
3
b
bb
5
[root@wuzuniao ~]#