新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Shell編程之用While簡單寫個守護進程
本文轉(zhuǎn)載自微信公眾號「Linux常用命令」,作者妖生。轉(zhuǎn)載本文請聯(lián)系Linux常用命令公眾號。

為達拉特等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及達拉特網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站設計、成都網(wǎng)站制作、達拉特網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
本節(jié)內(nèi)容還是循環(huán)語法,第二個循環(huán)關鍵字:while。
while循環(huán)經(jīng)常用于永久定時器,設置一個變量條件為真,則while中的命令可以永久執(zhí)行下去。語法格式如下:
- while condition
## condition為true,則循環(huán)執(zhí)行下去 - do
- command ## 滿足條件,則執(zhí)行命令
- done
示例如下:
- [root@yaomm208 ~]# vi 004-while.sh ## 編輯004-while循環(huán)腳本
- # !/bin/bash
- # filename:004-while.sh
- # author:linuxido.com
- LOCAL_TIME=$(date +"%Y-%m-%d %H:%M:%S") # 獲取時間并格式化
- while true
- do
- sshd_count=`ps -ef | grep ssh | grep -v color | wc -l` # 查看有多少ssh服務
- if [ $sshd_count -lt 1 ]
- then
- echo $LOCAL_TIME '沒有找到ssh服務,重啟該服務'
- systemctl start sshd
- else
- echo $LOCAL_TIME 'ssh服務正常運行中...'
- fi
- sleep 5 # sleep,Shell關鍵詞。數(shù)字5表示沉睡5秒,每隔5秒檢查一次
- done
運行腳本:
- [root@yaomm208 ~]# sh 004-while.sh ## 運行004腳本
- 2021-06-06 09:52:23 ssh服務正常運行中... ## 進入else分支,
- 2021-06-06 09:52:23 ssh服務正常運行中... ## 我們發(fā)現(xiàn)時間打印的是第一次的時間
- ……
在上面的時間戳打印時,我們發(fā)現(xiàn)打印的時間并沒有變化,一直是第一次打印的時間。怎么解決這個問題?簡單,將時間戳命令變成函數(shù)就行了,將后面的《函數(shù)》小節(jié)學完同學們自己就能解決這個問題。
文章題目:Shell編程之用While簡單寫個守護進程
標題路徑:http://www.5511xx.com/article/codhdep.html


咨詢
建站咨詢
