Bash の未定義の変数をチェックするオプション

Bash には プログラム言語のように 未定義の変数をチェックできる オプション "-u" があります。

このオプションを指定していると 未定義の変数が出てきたところで エラーにしてくれます。

試してみます。

[test.sb]

A=a
C=c
echo A=$A
echo B=$B
echo C=$C

まずは普通に実行。

$ bash test.sh

A=a
B=
C=c

$ echo $?

0

変数 B だけ定義されていないので値が空です。

次にオプションを付けて実行。

$ bash -u test.sh

A=a
test.sh: line 4: B: unbound variable

$ echo $?

1

途中でエラーになりました。 安全ですね。

他のオプション同様 set コマンドなどでも指定できます。

Google サイト内検索

Amazonアソシエイト