:無効なオプションを解析する方法は?私はいくつかのオプションを解析するには、次のスクリプトを書いています
#!/bin/bash
while [[ $# > 1 ]]
do
key="$1"
case $key in
-i|--inbound)
inbound="true"
shift # past argument
;;
-o|--outbound)
outbound="true"
shift # past argument
;;
*)
echo "hola"
exit 1
;;
esac
shift # past argument or value
done
echo $inbound
echo $outbound
問題は、私は無効なオプションを受信した場合、私は次のことを試してみました、私はプログラムを終了したいということです。
*)
exit 1
echo "invalid option"
;;
しかし、ときに私は、このようなプログラムを実行します。何が起こる、私はこの問題を解決するためにどんな提案をお願いしたいと思い、私の所望の出力をしたい、bashのscript.sh -invalid:
invalid option
問題はありませんが、 '>'は '['/'[['。 '-gt'や'(($#> 1)) 'が必要です。あなたのスクリプトに 'set -x'を追加するか(あるいは' bash -x script.sh ... 'を実行してください)、あなたのロジックに少なくとも1つの問題があるはずです(なぜ' bash script.sh -invalid'がやっていないのか何か)。 –