下記の例では、変数 NAME
がセットされているかどうか調べています。
#!/bin/bash
if [ -n "$NAME" ]; then
echo $NAME
fi
$ ./sample.sh
$ NAME=maku ./sample.sh
maku
下記の例では、変数 NAME
がセットされていないことを調べています。
#!/bin/bash
if [ -z "$NAME" ]; then
echo 'NAME is not set'
fi
$ ./sample.sh
NAME is not set
$ ./sample.sh
test
や [ ... ]
構造で使用できる演算子に下記のようなものがあります。
-z 文字列
- 文字列の長さが 0 の場合に真-n 文字列
- 文字列の長さが 0 でない場合に真変数の値を "$NAME"
という構文で確実に文字列になるように展開し、上記の演算子でその文字列の長さをチェックすることにより、変数がセットされている(あるいはセットされていない)ことを調べることができます。