if 文で変数 $name が空文字列かどうかを判定する test 式はどれか?

LPIC-1(101/102 試験)「シェルとスクリプト」の練習問題。正解と選択肢ごとの個別解説つきで、過去問対策・例題演習に。

LPIC-1 / シェルとスクリプト ・ コマンド問題
$
  1. [ -e "$name" ]
  2. [ -z "$name" ]✓ 正解
  3. [ -n "$name" ]
  4. [ "$name" = empty ]
💡 -z は文字列の長さが0(空)なら真。逆に -n は長さが0より大きければ真。-e はファイルの存在判定演算子です。
✕ [ -e "$name" ]:-eはファイルの存在を判定する演算子で、文字列が空かどうかの判定には使えない。
○ [ -z "$name" ]:-zは文字列の長さが0(空)のとき真となり、空文字列の判定として正しい。
✕ [ -n "$name" ]:-nは文字列の長さが0より大きいとき真で、空でないことの判定になる。
✕ [ "$name" = empty ]:値がemptyという文字列かを比較するだけで、空文字列かどうかの判定にはならない。
▶ この分野をクイズ形式で解く