test コマンドの -v オプション

Bash シェルを実行するときに 環境変数の設定の有無を確認しているのですが 基本文字列なので、パッと見が分かり易い 次のような書き方をよくしていました。

if [ "${VAR_XXXXX}" = "" ]; then
   echo "環境変数が未設定"

値が必須だったので、良かったのですが 今回たまたま配列を使うことになり、 同じ書き方をすると未設定にマッチしてしまいました。

調べてみると最近は test コマンドに -v オプションがあり 変数の定義の有無をチェックできるとか。

if [ ! -v VAR_XXXXX ]; then
   echo "環境変数が未設定"

これでイケました。
まだ環境は選ぶようですが、見た目もわかりやすくて良いですね。

Google サイト内検索

Amazonアソシエイト