シェルとスクリプト、ネットワークの基礎、システム管理、重要なシステムサービス
あるシェルスクリプトに以下の内容が記述されている。grep "error" log.txt の実行結果、log.txt内に"error"という文字列が存在しなかった場合、次のコードを実行するとどのように出力されるか。 grep "error" log.txt if [ $? -eq 0 ]; then echo "found" else echo "not found" fi
- Afound
- Bエラーメッセージが表示されスクリプトが停止する
- ✓not found
- D何も出力されない
解説
grepはパターンが見つからない場合、終了ステータスとして0以外(通常1)を返す。特殊変数$?にはその終了ステータスが格納されるため、if文の条件は偽となりelse節の"not found"が出力される。
根拠1.06.2 シェルスクリプト