シェル スクリプトを作成していて、コマンドの出力に特定の文字列が含まれているかどうかを確認しようとしています。おそらくgrepを使用する必要があると思いますが、方法がわかりません。誰か知っていますか?
質問する
218833 次
5 に答える
203
テスト$?
はアンチパターンです。
if ./somecommand | grep -q 'string'; then
echo "matched"
fi
于 2015-07-02T22:48:57.690 に答える
161
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'
于 2013-06-05T03:55:15.717 に答える