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 コマンドなどでも指定できます。