日々精進

新しく学んだことを書き留めていきます

shell scriptで環境変数が未定義かどうかを判定する

-z "${VAR}" とするのがメジャーだが、これでチェックするとset -euxo pipefailを設定して未定義変数を使用している場合、エラーになるようにしているとエラーで止まってしまう。

代わりに ${VAR:-"unset"} == "unset" とするとエラーにならない。

参考:

www.baeldung.com