我遇到了我的bash腳本有點問題。我的腳本在其他方面正在啓動一個需要一些時間才能開始的服務器。爲了防止長時間的啓動,我已經放入了一個while循環來查詢服務器是否運行。Bash while while two string conditions
while [ $running -eq 0 ]; do
echo "===" $response "===";
if [ "$response" == "" ] || [ "$response" == *"404 Not Found"* ]; then
sleep 1;
response=$(curl $ip:4502/libs/granite/core/content/login.html);
else
running=1;
fi
done
退出循環$ response等於「404」字符串。如果是這樣的話,那東西還是應該在循環中,不是嗎?似乎我的循環過早退出。
喬
注意'[[]]'是一個bash的擴展,所以一定要確保腳本'#!/ bin中/ bash'開始,不是'#! /斌/ sh'。有很多方法可以在普通的POSIX shell語法中進行等效測試,但它們幾乎沒有那麼幹淨。 –
謝謝你的回答,但即使你的修改,我仍然看到循環退出,而響應中有404字符串。 –
@JoeAndolina只是一個想法 - 你有沒有證實這與另一個網站,肯定會給404? –