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