<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

luna2-linux.blogspot.jp

d.hatena.ne.jp