在shell里寫(xiě)一個(gè)條件判斷語(yǔ)句,去查詢(xún)上一條命令執(zhí)行的結(jié)果,如果執(zhí)行成功則執(zhí)行下面的語(yǔ)句。
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出羅城免費(fèi)做網(wǎng)站回饋大家。
如是上面的命令是一個(gè)簡(jiǎn)單的命令,就用sleep來(lái)控制。這都是常用方法
第三種方法主要用于在腳本中切換用戶(hù)su、切換目錄cd等命令。
source
和
.
命令是相同的。
你可以搜索
source
補(bǔ)充,如何查看腳本運(yùn)行是否開(kāi)啟了bash子進(jìn)程
vim
file.sh
寫(xiě)入
#!/bin/bash
#echo
$$命令會(huì)輸出bash進(jìn)程ID
echo
$$
保存并賦予可執(zhí)行權(quán)限chmod
u+x
file.sh
在你的shell中輸入,echo
$$
屏幕輸出4176
./file.sh
屏幕輸出3600
bash
file.sh
屏幕輸出3984
source
file.sh
屏幕輸出4176
和
你直接在shell中輸出的一樣,說(shuō)明是在同一個(gè)bash進(jìn)程
用wait
比如下面的例子, cmd1 放入后臺(tái)運(yùn)行, 而cmd2 要等 cmd1結(jié)束后才會(huì)執(zhí)行。
#!/bin/bash
cmd1
wait
cmd2
判斷進(jìn)程是否存在。示例:
timer=20?#20s定時(shí)器
flag=1?#標(biāo)識(shí)進(jìn)程是否存在
while?[?$timer?-gt?0?]
do
sleep?2
ps?-aux?|?grep?進(jìn)程名?|?grep?-v?grep?/dev/null?#查詢(xún)進(jìn)程
[?$??-ne?0?]??flag=0??break?#進(jìn)程不存在了就退出循環(huán)
let?timer-=1
done
[?$flag?-eq?1?]??kill?-9?$(ps?-aux?|?awk?'/?bash$/{print?$1}')