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