103.7標準
health.txtにREADYという行が存在するかをシェルスクリプトで判定する。
一致内容は表示せず、終了ステータスだけを利用する。
grepへ追加する適切なオプションはどれか。
× 不正解
grep -qは通常出力を行わず、一致なら0、不一致なら1という終了ステータスを判定に利用できる。
詳細解説
正しい
-q通常出力を抑え、一致の有無を終了ステータスで返す。
正解。一致内容を表示せず判定できる。
誤り
-s主に存在しないファイル等のエラーメッセージを抑え、一致行の出力は抑えない。
エラー表示を抑える用途で一致出力は残る。
誤り
-c一致行数を標準出力へ表示する。
件数を標準出力する。
誤り
-l一致したファイル名を標準出力へ表示する。
一致したファイル名を出力する。
実際に確かめる
一時的な検証環境で実行できる例です。
printf '%s\n' READY > health.txt; grep -q '^READY$' health.txt; printf '%s\n' "$?"期待される結果
0理解のポイント
- -qはquiet
- 一致時は終了ステータス0
- 不一致時は通常1
確認時の注意
- 確認環境: GNU grep 3.x / Bash 5.x
基礎のおさらい
条件式での利用
if grep -q PATTERN FILE; then ...; fiのように直接条件へ使える。
不一致
通常は一致なしが1、実行エラーが2となるため区別できる。
問題IDKP-103-113
確認環境GNU grep 3.x / Bash 5.x
最終技術確認2026-08-12
誤り・権利侵害を報告