所以,我正在尝试使用 bash 的内置 getopts 来处理参数处理,除非我得到一个奇怪的结果。这是我的测试脚本;
#!/bin/sh
HOST=
OWNER=
GROUP=
while getopts "h:o:g" OPTION;
do
case $OPTION in
h)
HOST=$OPTARG
;;
o)
OWNER=$OPTARG
;;
g)
GROUP=$OPTARG
;;
esac
done
echo "$HOST - $OWNER:$GROUP"
然而,当我使用它运行脚本时;
./test.sh -h test.host.com -o skittles -g whatever
我的最后一个 arg 永远不会被拉入或被丢弃。我的回声结果是;
test.host.com - skittles:
^ where's my group value? O.o
有谁知道这是什么原因造成的?
谢谢。