数値変数 $a と $b が等しいかどうかを test コマンドで判定する正しい式はどれか。

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

LPIC-1 / シェルとスクリプト ・ コマンド問題
$
  1. [ "$a" = "$b" ]
  2. [ "$a" -eq "$b" ]✓ 正解
  3. [ "$a" == "$b" ]
  4. [ "$a" -is "$b" ]
💡 数値の等価比較には -eq を使います(-lt, -gt, -ne 等も同系統)。= や == は文字列比較用で、"01" と "1" を等しいと判定できないなど数値比較には不向きです。
✕ [ "$a" = "$b" ]:= は文字列の等価比較演算子で、数値としての比較には適しません。
○ [ "$a" -eq "$b" ]:正解。-eq は数値の等価比較演算子で、数値が等しいときに真となります。
✕ [ "$a" == "$b" ]:== は(bash拡張の)文字列比較演算子で、数値比較には -eq を用います。
✕ [ "$a" -is "$b" ]:-is という比較演算子は存在せず、数値比較には使えません。
▶ この分野をクイズ形式で解く