Linux?Shell腳本中如何獲取命令運行的結果
更新時間:2023年06月27日 09:02:59 作者:-代號9527
腳本中常常要獲取一些命令的執(zhí)行結果,比如當前目錄pwd、當前時間date等等,下面這篇文章主要給大家介紹了關于Linux?Shell腳本中如何獲取命令運行的結果,需要的朋友可以參考下
前言
寫shell腳本的時候,常需要將一個命令的運行結果做為參數(shù)傳遞給另外一個命令,除了我們熟知的管道 | 和args,我們也可以通過獲取命令的運行結果。
1、通過反引號`command`來完成
result=date echo $result result=`date` echo $result
執(zhí)行結果:

來點復雜的應用:
//部署服務的時候發(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}'`
//反引號獲取命令運行結果,即最末尾的鏡像的id
再比如:
//重啟pending的所有pod
kubectl delete pod `kubectl get po -A|awk '/pending/{print $2}'` -n namespace??
2、使用$(command)來獲取
result=date echo $result result=$(date) echo $result
運行結果:

把反引號``換成$()即可
3、二者的區(qū)別
反引號不支持嵌套,而 $ 支持嵌套。 舉個例子,當然實際開發(fā)中沒有人去ls $(pwd)
//這里有$()的嵌套,輸出正確 echo $(ls $(pwd))
//這里換做反引號就出問題 //結果輸出了三部分:ls的內容、pwd字符串、空 echo `ls `pwd``
總結
到此這篇關于Linux Shell腳本中如何獲取命令運行的結果的文章就介紹到這了,更多相關Shell腳本獲取命令運行結果內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Linux Shell循環(huán)中實現(xiàn)展示進度百分比的實現(xiàn)方法
這篇文章主要介紹了Linux Shell循環(huán)中實現(xiàn)展示進度百分比的實現(xiàn)方法的相關資料,這里提供實現(xiàn)方法及實例,需要的朋友可以參考下2017-08-08
在 SHELL 腳本中調用另一個 SHELL 腳本的方法(報錯: go
在Linux平臺上開發(fā),經(jīng)常會在console(控制臺)上執(zhí)行另外一個腳本文件,經(jīng)常用的方法有:./my.sh 或 source my.sh 或 . my.sh;這三種方法有什么不同呢?這篇文章主要介紹了在 SHELL 腳本中調用另一個 SHELL 腳本的方法(報錯: go:not found),需要的朋友可以參考下2023-08-08

