新聞中心
本文轉(zhuǎn)載自微信公眾號(hào)「Linux常用命令」,作者妖生。轉(zhuǎn)載本文請(qǐng)聯(lián)系Linux常用命令公眾號(hào)。

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


咨詢
建站咨詢
