0
getoptsを使用するオプションのbashスクリプトで作業しています。このスクリプトには、複数のオプションと、1つのオプションのみが受け入れられる特定のケースを受け入れることができるケースがあります。いくつかのケースをテストしながら、私はこの問題に遭遇しましたが、私はこの質問のために擬似コードに減らしました。リターンの下に実行
for arg in "[email protected]"; do
echo ${arg}
done
echo "end"
:
$ ./test.sh -a -b
-a
end
-bが空行に返されていない理由を私は、bashの4.1.2を実行しているのですか?私はこれが ' - 'と関係があると仮定します。
しかし '-b'や' -a'のどれも 'echo'の正しいフラグはありません。答えは良いですが、不思議なOPの出力が間違っています – Inian
修正;なぜ '-b'が' echo'によってオプションとして扱われるように見えるのか分かりません。 – chepner
いずれにしても、これは '-n'でも問題になりました。解決策は同じです –