Это мой случай bash test-getopt.sh
, чтобы понять getopt в bash.
OPTS=$(getopt -o d:eh -- "$@")
eval set -- "$OPTS"
while true; do
case "$1" in
-d )
if [[ $2 == "a" ]];then
echo "i am -d's arg :a"
elif [[ $2 == "b" ]];then
echo "i am -d's arg :b"
fi
shift;;
-e )
echo "i am e"
shift;;
-h)
echo "help you"
shift;;
-- )
shift;;
*)
break;;
esac
done
Чтобы вызвать параметр и его аргумент, один параметр и его аргумент на один раз.
bash test-get.sh -d a
i am -d's arg :a
Другой аргумент.
bash test-get.sh -d b
i am -d's arg :b
Я хочу вызвать option, и все это аргумент в одной команде
bash test-get.sh -d a -d b
i am -d's arg :a
Есть ли способ получить следующий ожидаемый результат?
bash test-get.sh -d a -d b
i am -d's arg :a
i am -d's arg :b