欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux?Shell腳本中如何獲取命令運(yùn)行的結(jié)果

 更新時(shí)間:2023年06月27日 09:02:59   作者:-代號(hào)9527  
腳本中常常要獲取一些命令的執(zhí)行結(jié)果,比如當(dāng)前目錄pwd、當(dāng)前時(shí)間date等等,下面這篇文章主要給大家介紹了關(guān)于Linux?Shell腳本中如何獲取命令運(yùn)行的結(jié)果,需要的朋友可以參考下

前言

寫(xiě)shell腳本的時(shí)候,常需要將一個(gè)命令的運(yùn)行結(jié)果做為參數(shù)傳遞給另外一個(gè)命令,除了我們熟知的管道 | 和args,我們也可以通過(guò)獲取命令的運(yùn)行結(jié)果。

1、通過(guò)反引號(hào)`command`來(lái)完成

result=date
echo $result

result=`date`
echo $result

執(zhí)行結(jié)果:

來(lái)點(diǎn)復(fù)雜的應(yīng)用:

//部署服務(wù)的時(shí)候發(fā)現(xiàn)不用的舊鏡像很多,清理一下
i=0
while ((i<10))
do
	docker rmi -f `docker images|grep -i gateway|tail -n 1|awk '{print $3}'`
	let i++
done

//核心`docker images|grep -i gateway|tail -n 1|awk '{print $3}'`

//反引號(hào)獲取命令運(yùn)行結(jié)果,即最末尾的鏡像的id

再比如:

//重啟pending的所有pod
kubectl delete pod `kubectl get po -A|awk '/pending/{print $2}'` -n namespace

??

2、使用$(command)來(lái)獲取

result=date
echo $result

result=$(date)
echo $result

運(yùn)行結(jié)果:

把反引號(hào)``換成$()即可

3、二者的區(qū)別

反引號(hào)不支持嵌套,而 $ 支持嵌套。 舉個(gè)例子,當(dāng)然實(shí)際開(kāi)發(fā)中沒(méi)有人去ls $(pwd)

//這里有$()的嵌套,輸出正確
echo $(ls $(pwd))
//這里換做反引號(hào)就出問(wèn)題
//結(jié)果輸出了三部分:ls的內(nèi)容、pwd字符串、空
echo `ls `pwd``

總結(jié)

到此這篇關(guān)于Linux Shell腳本中如何獲取命令運(yùn)行的結(jié)果的文章就介紹到這了,更多相關(guān)Shell腳本獲取命令運(yùn)行結(jié)果內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論