変数未定義のエラーが発生した
unbound variable
未定義変数が使われているエラーですね。
なんで起こるか
set -u
みたいなのが書かれていたら、変数未定義の場合にエラーが発生する設定にするというものです。
では対応はどうするか
変数チェック
if [ -v "${VAL}" ]
とかでチェックする
チェックして代入
if [ "${VAL:-false}" ]
値がなければfalseにする
phpで $val ?? false
やるような感覚
一時的にエラー判定を出さないようにする
set +u
これでエラー判定がでなくなる。
ただ、空文字とかが飛んでくるので、それに合わせた対応を。
もしすでに、
if [ -z "${VAL}" ]
とかを見かけていたら、 -z
は文字列の長さが0の時の判定なので、
未定義のときには空文字が来るというのを想定していたけど、setの設定をミスったとかの可能性があります。
一時的にエラー判定を出さないようにするのはありなのかもしれない。
あと、必要であれば忘れずに
set -u
で元に戻してあげてください。