1. ホーム
  2. bash

[解決済み] シェルスクリプトでコマンドの出力に特定の文字列が含まれているかどうかを確認する

2022-04-24 08:53:24

質問

シェルスクリプトを書いていて、あるコマンドの出力に特定の文字列が含まれているかどうかをチェックしようとしています。おそらく grep を使用しなければならないと思っていますが、方法がよくわかりません。どなたかご存知ですか?

解決方法は?

grep の戻り値をテストしてください。

./somecommand | grep 'string' &> /dev/null
if [ $? == 0 ]; then
   echo "matched"
fi

というようにイディオム的に行われます。

if ./somecommand | grep -q 'string'; then
   echo "matched"
fi

というように、また

./somecommand | grep -q 'string' && echo 'matched'