shell 命令getopts用法
写shell脚本常见sh test.sh
-m 2 -d 3的写法
事例脚本:
#!/bin/bash while getopts ":a:b:c:" arg #选项后面的冒号表示该选项需要参数 do echo "arg":$arg case $arg in a) echo "a's arg:$OPTARG --- $OPTIND" #参数存在$OPTARG中 ;; b) echo "b's arg:$OPTARG --- $OPTIND" ;; c) echo "c's arg:$OPTARG --- $OPTIND" ;; ?) #当有不认识的选项的时候arg为? echo "unkonw argument" exit 1 ;; esac done
getopts包含两个常量:
$OPTARG:保存当前选项的值
$OPTIND:参数列表的位移,初始值为1,下一个参数的索引值
getopts ":a:b:c:":第一个冒号是忽略错误信息,最后一个冒号是可以获取最后一个参数,参数为空 移动索引获取最后一个参数的值