<Bash, zsh> シェル変数が定義されているかを判定する方法
シェルShell
で変数Variable
が定義されているかを判定する方法。
調査した結果、3つの方法があるっぽい。
-v
変数がセットされてるか? どうか?
-n
変数の長さが0でないNonzero length
か? どうか?
-z
変数の長さが0 nzero length
か? どうか?
チェックする。
% HAGE="hage"; [ -v HAGE ]; echo $? 0 % unset HAGE ; [ -v HAGE ]; echo $? 1 % HAGE="hage"; [ -n "$HAGE" ]; echo $? 0 % unset HAGE ; [ -n "$HAGE" ]; echo $? 1 % HAGE="hage"; [ -z "$HAGE" ]; echo $? 1 % unset HAGE ; [ -z "$HAGE" ]; echo $? 0