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

posted @ 2017-07-03 16:39  字节  阅读(1377)  评论(0编辑  收藏  举报