我有一个 shell 脚本,它使用getopt
. 我的脚本的那部分很好,但是,我需要一种特殊情况,即可以多次提交一个特定参数。
这是我如何处理它的要点:
#!/bin/sh
i=0
# once in the case statement I do the following:
while true
do
case "$1" in
-p)
paramList[$i]=$2
((i++))
shift 2
;;
done
这是正确填充paramList
数组(我认为),但每当我尝试以下操作时:
for param in $paramList
do
echo "Params: $param"
done
它只返回第一个参数。因此,如果我这样做./myscript -p blah -p blah2 -p blah3
,它就会返回blah
。
我究竟做错了什么?