我有一個while循環,試圖蜷縮一個術語的weblink ..我需要添加一個「或」在它,所以我可以數了一段時間,以便如果頁面永遠不會出現,它不會無限期地拖延腳本。這是我的,那是行不通的。雖然循環幫助bash
count=0
while [ $count -lt 5 -o `curl -silent -m 2 10.10.10.10:7001 | grep myterm | wc -l` -lt 1 ]; do
echo "Waiting for it to start"
count=$(($count + 1))
sleep 5
done
echo "started"
我知道我的捲曲的作品,並在頁面了,且計數部分工作正常,如果它遍歷5次返回1,它結束了while循環,並說開始(我也不怎麼要離開它,只是一個例子)。然而,它第一次運行時,它應該看到我的curl = 1,它不小於1,並結束while循環..我做錯了什麼?
編輯:爲了解釋我爲什麼這樣做,所以有人可以解釋爲什麼它是不好的做法/做什麼,而不是。
我正在啓動一個jboss服務。此服務可能需要3到6分鐘才能開始。所以我需要做2件事。檢查狀態頁出現(告訴它何時成功啓動的最佳方式),如果出現超過8分鐘的時間,則停止檢查以便它可以轉到下一個服務。思考?
你正在做很多事情「錯誤」(理解「不是很好的做法」)。 –
您是否在尋找暫停? http://stackoverflow.com/questions/687948/timeout-a-command-in-bash-without-unnecessary-delay – freitass
你是否明白你的情況是一種情況? –