5
我有一個bash腳本,它會經歷一個ip列表,並逐個ping它們。如果對每一個ping退出狀態是0,則呼應的節點啓動,否則節點就弄傷我能得到這個工作完美,但是當bash腳本結束退出狀態始終爲0使用while循環時的Bash退出狀態
我試圖實現的是,例如,如果第三個失敗,則通過列表繼續執行5個ip,然後檢查剩餘的腳本,但一旦腳本結束時拋出非0的退出狀態並輸出哪個ip失敗。
cat list.txt | while read -r output
do
ping -o -c 3 -t 3000 "$output" > /dev/null
if [ $? -eq 0 ]; then
echo "node $output is up"
else
echo "node $output is down"
fi
done
在此先感謝!
這看起來正在做我在找的東西。我不知道第一個問題,我明白。謝謝! – user2683183
'cmd;如果[$? -eq 0];然後'幾乎**總是**更好地替換爲'if cmd; then'。 –