2013-02-22 27 views
2

所以我想運行一個腳本,如果我連接到互聯網。我想象的方式是我每隔5分鐘運行一次crontab,它會嘗試ping一個web服務器,如果它不成功,那麼它運行一個命令,如果它成功,我希望它結束​​腳本。zsh如果幫助:如果ping不成功

僞代碼:

#!/bin/zsh 
if ping IP is unsuccessful 
    echo test 
end 

謝謝!

回答

5

ping取決於其成功設置退出狀態。所以,你可以這樣做:

#!/bin/zsh 
ping -c 1 myhost  # -c pings using one packet only 
if [ $? -ne 0 ]; then 
    echo "test" 
fi 

請注意,命令將設置其退出狀態($?按照慣例是非零值,如果他們遭受錯誤。

的另一個版本以上將是:

#!/bin/zsh 
if ping -c 1 myhost; then 
    echo "test" 
fi 

這是更簡潔。

+0

很好。謝謝。 – James 2013-02-22 09:54:08