写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:":第一个冒号是忽略错误信息,最后一个冒号是可以获取最后一个参数,参数为空 移动索引获取最后一个参数的值

05-07 12:58
查看更多