私は、pingが応答しない場合にのみ続行するスクリプトを作成しようとしています。pingがダウンしている場合に限り、Bashが続行されます。
私は2つの主な問題に取り掛かります。 1つは、スクリプトを終了するために2つのCTL-Cコマンドが必要であり、もう1つの問題は、スクリプトが決して終了せず、殺しが必要であるということです。
ここに私の試みがあります。
rc=0
until [ $rc -gt 0 ]
do
ping 69.69.69.69 > /dev/null 2>&1
rc=$?
done
## Here will be the rest of code to be executed
私はそれが2 CTL-Cコマンドを必要とし、続けて上記のこの1つは非常に近い感じ。 ここに私が見つけたことはありますが、まったく動かすことはできません。
counter=0
while [ true ]
do
ping -c 1 69.69.69.69 > /dev/null 2>&1
if [ $? -ne 0 ] then
let "counter +=1"
else
let "counter = 0"
fi
if [ $counter -eq 10 ] then
echo "Here should be executed once pinging is down"
fi
done
ご協力いただきありがとうございます。
2番目のバージョンを実行すると特に何が起こりますか?エラーメッセージが表示されますか?彼らは何を言いますか? – Kenster
あなたのスクリプトに提案したことを見て、圧縮されたフォーム(1つのping antを送信すると10秒間応答する)が好きかどうかを確認してください。 – louigi600