文字列のコマンド出力の検索

文字列のコマンド出力の検索

私は簡単なスクリプトに閉じ込められています。tracepath複数のアドレスで実行し、特定のIPが.iptファイルの出力に含まれていることを確認したいと思いますtracepath。今、以下があります。

if tracepath -n google.com | grep x.x.x.x 
do 
echo bal bal 
else 
echo ova ova ova
fi

しかし、これはうまくいきません。

答え1

この構文を試してください。出力を望まないようです(静かな)スイッチをgrep使用してください。-q

(traceroute -n google.com | grep -q x.x.x.x) && echo "Yes" || echo "Nope"

または、次の文を使用してくださいif

if (traceroute -n google.com | grep -q x.x.x.x)
then
  echo "Yes"
else
 echo "Nope"
fi

答え2

構文が正しくありません。if条件の後には次のものでthenはありませんdo

tracepath -n google.com | grep x.x.x.x
if [ $? -eq 0 ]
then
echo "bal bal" 
else
echo "ova ova ova"
fi

関連情報