105.2基礎
testコマンドで整数$COUNTが10より大きいかを判定する。
適切な条件はどれか。
× 不正解
-gtは整数のgreater than、-geはgreater than or equalを意味する。境界値を含むかどうかを要件に合わせる。
詳細解説
誤り
[ "$COUNT" = 10 ]文字列として10と一致するかを判定する。
誤り。=は文字列として10と一致するかを調べるため、10より大きいという大小関係を表さない。
誤り
[ "$COUNT" -lt 10 ]COUNTが10より小さい場合に真になる。
誤り。-ltはless thanを意味し、COUNTが10未満の場合に真となる逆向きの条件である。
正しい
[ "$COUNT" -gt 10 ]COUNTを整数として10より大きいか比較する。
正しい。-gtはgreater thanを意味し、10自身を含めず10を超える整数だけを真にする。
誤り
[ "$COUNT" -ge 10 ]10以上を判定するため、10自身も真になる。
誤り。-geはgreater than or equalを意味し、設問が除外する境界値10も真にする。
実際に確かめる
一時的な検証環境で実行できる例です。
COUNT=11; if [ "$COUNT" -gt 10 ]; then printf greater; fi期待される結果
greater理解のポイント
- -gtはより大きい
- -geは以上
- 整数として比較
確認時の注意
- 確認環境: POSIX互換test / GNU Bash 5.2
基礎のおさらい
整数演算子
-eq、-ne、-lt、-le、-gt、-geで整数の一致、不一致、大小を比較する。
入力検証
空文字や非数値を整数比較へ渡すとエラーになり得るため、外部入力では形式確認も必要になる。
問題IDKP-105-628
確認環境POSIX互換test / GNU Bash 5.2
最終技術確認2026-08-13
誤り・権利侵害を報告