我需要帮助来编写getopt
函数来处理一个选项的多个参数,如下例所示,感谢您的支持。
示例:
./getopt.sh -s abcd -s efgh -s ijkl -s bdnc -e test
这是我到目前为止
#!/bin/bash
OPTS=`getopt -o s:e:h -n '$0' -- "$@"`
eval set -- "$OPTS"
while true; do
case "$1" in
-s ) SOURCE=$1 ;shift ;;
-h ) echo "$0 -s source -e enviroment"; shift ;;
-e ) ENV=$1; shift; shift ;;
* ) break ;;
esac
done
if [ $ENV='TEST' ];then
echo "execute on test with $SOURCE"
elif [ $ENV='DEV' ];then
echo "execute on dev with $SOURCE"
else
exit
fi
但在这里我想多次执行-s。
答案 0 :(得分:0)
您可以多次使用相同的选项,并将所有值添加到数组中。 喜欢:
while getopts "o:" i; do
case $i in
o) arr+=("$OPTARG");;
#...
esac
done