バインドされていない変数が参照されている場合、スクリプトが失敗することはわかってset -u
いますが、私の bash スクリプトでは、次のように、if ステートメント内で特定の変数が設定解除されているかどうかを確認してから、何かを実行しようとしています。
if [[ -z "${SOME_VARIABLE}" ]] ; then
echo '$SOME_VARIABLE' is not set
else
do_stuff_with_SOME_VARIABLE
fi
ただし、set -eu
プレリュードで上記を実行しようとすると、次のエラーが発生します。これは、私がやろうとしていることを考えると、少し直感に反するようです。
-bash: SOME_VARIABLE: unbound variable
[Process completed]
ご覧のとおり、$SOME_VARIABLE
未設定のときに実際に使用しようとしているわけではないので、実際に未設定の変数を使用しようとしているときにスクリプトを失敗させる方法があるかどうかを知りたいです (変数を次のように渡すなど)。引数またはそれらに文字列操作を適用する) が、それらが設定されていないかどうかを確認するだけの場合ではありませんか?