shellスクロプトでBOOL型変数でロジック分岐させてるとハマりました。
var=true if $var; then #logic else #logic fi
上記のようにしたんですが。
なぜかifのtrueロジックにしか処理がいかない。。
解決策
明示的にfalse
をセットしてあげる。
if [ -z $something ]; then var=true else var=false fi if $var; then #logic else #logic fi
注意
true
または false
を変数にセットする際、変数頭に$
は不要です。