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)文章
Linux磁盤(pán)管理之LVM詳解及l(fā)vm磁盤(pán)操作命令
LVM,Logical Volume Manger,是linux內(nèi)核提供的一種邏輯卷管理功能,由內(nèi)核驅(qū)動(dòng)和應(yīng)用層工具組成,它是在硬盤(pán)的分區(qū)基礎(chǔ)上,創(chuàng)建了一個(gè)邏輯層,可以非常靈活且非常方便的管理存儲(chǔ)設(shè)備,這篇文章主要介紹了Linux磁盤(pán)管理之LVM詳解及l(fā)vm磁盤(pán)操作命令,需要的朋友可以參考下2023-03-03Linux Shell循環(huán)中實(shí)現(xiàn)展示進(jìn)度百分比的實(shí)現(xiàn)方法
這篇文章主要介紹了Linux Shell循環(huán)中實(shí)現(xiàn)展示進(jìn)度百分比的實(shí)現(xiàn)方法的相關(guān)資料,這里提供實(shí)現(xiàn)方法及實(shí)例,需要的朋友可以參考下2017-08-08如何短時(shí)間內(nèi)學(xué)好一門(mén)語(yǔ)言 shell腳本語(yǔ)言為例
這篇文章主要以shell腳本語(yǔ)言為例,為大家介紹了如何短時(shí)間內(nèi)學(xué)好一門(mén)語(yǔ)言,感興趣的小伙伴們可以參考一下2016-09-09Linux中自定義shell腳本啟動(dòng)jar包的方法
這篇文章主要介紹了Linux中自定義shell腳本啟動(dòng)jar包的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01在 SHELL 腳本中調(diào)用另一個(gè) SHELL 腳本的方法(報(bào)錯(cuò): go
在Linux平臺(tái)上開(kāi)發(fā),經(jīng)常會(huì)在console(控制臺(tái))上執(zhí)行另外一個(gè)腳本文件,經(jīng)常用的方法有:./my.sh 或 source my.sh 或 . my.sh;這三種方法有什么不同呢?這篇文章主要介紹了在 SHELL 腳本中調(diào)用另一個(gè) SHELL 腳本的方法(報(bào)錯(cuò): go:not found),需要的朋友可以參考下2023-08-08