2014-12-04 36 views
-1

得到錯誤我已經加入到我的rc.local文件中我一直在rc.local中

#wait until the internet connection is ready 
wget -q --tries=10 --timeout=20 -O - http://google.com > /dev/null 
while [ $? -ne 0 ]; do 
     printf "Waiting for internet connection" 
     sleep 10; 
     wget -q --tries=10 --timeout=20 -O - http://google.com > /dev/null; 

done 

下面的腳本如果我連接到互聯網一切只是工作正常,但如果我下線,我得到錯誤

[FAIL] startpar: service(s) returned failure: rc.local ... failed! 

這裏有什麼問題,我怎麼能解決這個問題,我想rc.local中等待互聯網連接,其繼續進行到另一個腳本

+2

可能不會解決你的問題,但不需要單獨測試退出代碼,你可以做'while! wget -q --tries = 10 --timeout = 20 -O - http://google.com>/dev/null;做' – 2014-12-04 11:27:01

+0

謝謝,它現在可以工作:)你能解釋爲什麼它可能失敗了嗎? – user3273488 2014-12-04 11:32:54

+0

@ user3273488-請接受Tom Fenech的回答。 – 2014-12-04 12:12:07

回答

2

之前,因爲它似乎已經解決您的問題,這是怎麼了我將 建議編寫代碼:

while ! wget -q --tries=10 --timeout=20 -O - http://google.com > /dev/null; do 
    echo 'Waiting for internet connection' 
    sleep 10 
done 

記住[沒有語法,它是一個命令其退出狀態決定了你的while循環是否繼續與否。您應該直接測試您嘗試運行的命令的退出狀態。

至於爲什麼這已經解決了你的問題,說實話我不確定。你所顯示的錯誤信息並沒有真正具體到足以指明問題出在哪裏,而且我也看不到你以前做過什麼錯誤。也許您應該嘗試將set -xv添加到您的rc.local文件中以啓用調試。