目の前に僕らの道がある

勉強会とか、技術的にはまったことのメモ

zshの変数が未定義の時に値を入れたい

HOGE:parameter not set

zshで下記のような.zshenvのときに-uを付けているシェルスクリプトを実行すると上記のようなワーニングが出てうざったかったのでした。

#! /bin/zsh -ue
if [ ! ${HOGE} ]
then
   do some cmd #未定義時
else
   do some cmd
fi

変数の修飾子に:- を使うと未定義のときに変数に値を設定してくれるようです。これでうざったいワーニングからおさらば。

#! /bin/zsh -ue
if [ ${HOGE:-default} = "default" ]
then
   do some cmd #未定義時
else
   do some cmd
fi