1樓:綠衣人敲門
要用迴圈查詢直到重啟完成.
fi追問
謝謝你的回答,有解決問題的思路了,但違背了原程式的意圖。原程式意圖為:1、當服務狀態失常時在「/var/log/htmon.
log」檔案中記入日誌;2、自動將狀態失常的httpd服務重新啟動;3、若重啟httpd服務失敗,則嘗試重新啟動伺服器主機
但您改的程式是httpd啟動成功($?為0)就跳出迴圈,再修改啟動級別、重啟作業系統(httpd啟動成功就不需要這樣做了),再則由於httpd配置錯誤啟動不成功,則永遠迴圈下去。還得請教有何辦法?
回答之前沒理解你要做什麼。
要防止無限迴圈,可以對嘗試次數做個限制(加個計數器),比如10次嘗試後還不成功就嘗試修改啟動級別並重啟作業系統。
count=0
flag=0 #標誌是否成功, 0-失敗,1-成功
while [ $count -lt 10 ] #只嘗試10次
啟動不成功
2樓:
重啟後還有繼續執行,只有在啟動指令碼里寫了。
linux 的 shell指令碼程式設計中,如何確保一條指令指令執行成功了之後再進行下一條指令
3樓:匿名使用者
通常可以根據返回值來判斷。
不過還有一點就是要注意,就是make install要管理員許可權才行。
make clean && make && make install就可以了。
你試試吧。
4樓:匿名使用者
可以用重定向輸出make > make.txt
make install > make install.txt
利用shell指令碼執行ssh遠端另一臺主機執行命令並返回命令的結果集
linux中怎樣讓shell指令碼等待其他指令碼檔案執行完??
5樓:匿名使用者
在shell裡寫一個條件判斷語句,去查詢上一條命令執行的結果,如果執行成功則執行下面的語句。
如是上面的命令是一個簡單的命令,就用sleep來控制。這都是常用方法
6樓:
你能估計呼叫其他指令碼檔案的時間麼?如果可以,那就用sleep 來控制,等待多少秒之後,再繼續執行下面的指令碼。
例如:sleep 30
即等待30秒,再繼續。
如能解決你的問題,請採納,如有問題,請私信,謝謝!
7樓:匿名使用者
wait 不可以嗎?
8樓:上善之水
在其他的指令碼呼叫的地方加上一個 「;」,然後再寫shell的命令
在shell程式設計中怎樣確保上一個命令(服務重啟)成功後,才執行下一個命令?
9樓:
要用迴圈查詢直到重啟完成.
如何shell指令碼中,執行一個其他程式的命令,然後儲存這個執行這個命令的結果和過程? 20
10樓:小米飛貓
sh -x abc_stop | tee abc.log
sh -x 除錯指令碼執行過程
tee abc.log 讀取標準輸入的資料,並將其內容輸出成abc.log檔案
如何利用 shell 在進入一種模式後,繼續呼叫該模式下的命令
編寫shell指令碼完成下面的功能指令碼執行後讀
bin bash no.1 read p 請輸入一個檔名 filenameif f filename thenrm rf filename dev null 2 1echo filename 刪除完畢 else echo filename 不是一個普通檔案 fi bin bash no.2 read...
如何在頁面載入完成後執行js指令碼
把指令碼放body的最後。如果放前面,你用jquery的話,把指令碼放這個方法體裡面可以讓頁面載入完執行 function 如何讓頁面載入以後自動執行該js的函式 如果來有函式源 function dosomething 不用jquery的情bai況下du可以 zhidao window.onloa...
linux下shell指令碼執行過程中重新輸入命令
使用一個小的shell b呼叫a即可。想做個linux下的指令碼中,在原先的命令中需要在輸入命令後手動輸入一個yes後才能執行 我想批量執行命令 把指令碼里的yes判斷去掉就是了。如果不想改,也很簡單 bin bash for i in cat yes id idone linux shell指令碼...