set
スクリプトでさまざまなオプションを効率的に使用する方法を学習してset -u
いて、変数が正しく設定されていない場合(ユーザーの削除など)にスクリプトを終了するのに最適なようです。マニュアルページによると、次のことset -u
をset -e
しています...
-e Exit immediately if a command exits with a non-zero status.
-u Treat unset variables as an error when substituting.
この機能をテストするためのテストスクリプトを作成しましたが、期待どおりに動作していないようです。おそらく、誰かが私の問題を私に説明し、どこで私が誤解しているのでしょうか?テストスクリプトは次のとおりです。ありがとうございました。
set -e
set -u
testing="This works"
echo $?
echo ${testing}
testing2=
echo $?
echo ${testing2}
testing3="This should not appear"
echo $?
echo ${testing3}
スクリプトが0と"これで機能します"を表示し、${testing2}
設定されていないため失敗することを期待しています。
代わりに私が表示されています0をし、「この作品は」、で続く0、その後、0は これが表示されることはありません
誰かがいくつかの知識を提供できますか?ありがとうございました。