shell中脚本参数传递getopts

 

while getopts ":a:b:c:" opt
do
    case $opt in
        a)
        echo "参数a的值$OPTARG"
        ;;
        b)
        echo "参数b的值$OPTARG"
        ;;
        c)
        echo "参数c的值$OPTARG"
        ;;
        ?)
        echo "未知参数"
        exit 1;;
    esac
done

输出

bogon:Desktop macname$ ./test.sh -a 1 -b 2 -c 3
参数a的值1
参数b的值2
参数c的值3
bogon:Desktop macname$ ./test.sh -a 1 -b 2
参数a的值1
参数b的值2
bogon:Desktop macname$ ./test.sh -a 1 -c 2
参数a的值1
参数c的值2
bogon:Desktop macname$ ./test.sh -b 1 -c 2 -a 3
参数b的值1
参数c的值2
参数a的值3
bogon:Desktop macname$ ./test.sh -b 1 -c 2 -d 3
参数b的值1
参数c的值2
未知参数
bogon:Desktop macname$ ./test.sh -b 1
参数b的值1
bogon:Desktop macname$ ./test.sh
bogon:Desktop macname$ 

 

 

参考:

https://blog.csdn.net/sinat_36521655/article/details/79296181

 

posted @ 2019-08-22 19:23  anobscureretreat  阅读(477)  评论(0编辑  收藏  举报