ICMP エコーが失敗した場合、この IF ステートメントからエラーを省略したいと思います。
コード例:
if ping -q -c 1 -W 1 1.2.3.4 >/dev/null; then
echo -e "PING OK"
else
echo -e "PING NOK"
fi
ping が成功した場合、またはスクリプトの外部でコマンドを実行した場合は完全に機能しますが、応答がない場合は以下の出力が得られます。
PING 1.2.3.4 (1.2.3.4): 56 data bytes
--- 1.2.3.4 ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss
PING NOK
2>/dev/null を引用してこれに対する回答を見てきましたが、これにより、成功したかどうかにかかわらず、出力に ping クエリ全体が表示されます。以下のように 2>/dev/null の例。
PING 1.2.3.4 (1.2.3.4): 56 data bytes
--- 1.2.3.4 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 26.134/26.134/26.134/0.000 ms
PING OK
これは少し未熟な質問ですが、私は開発者ではなく、ネットワーク チャップです :)
前もって感謝します!!