Linux?Shell腳本中如何獲取命令運行的結(jié)果
前言
寫shell腳本的時候,常需要將一個命令的運行結(jié)果做為參數(shù)傳遞給另外一個命令,除了我們熟知的管道 | 和args,我們也可以通過獲取命令的運行結(jié)果。
1、通過反引號`command`來完成
result=date echo $result result=`date` echo $result
執(zhí)行結(jié)果:
來點復雜的應用:
//部署服務的時候發(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}'` //反引號獲取命令運行結(jié)果,即最末尾的鏡像的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
運行結(jié)果:
把反引號``換成$()即可
3、二者的區(qū)別
反引號不支持嵌套,而 $ 支持嵌套。 舉個例子,當然實際開發(fā)中沒有人去ls $(pwd)
//這里有$()的嵌套,輸出正確 echo $(ls $(pwd))
//這里換做反引號就出問題 //結(jié)果輸出了三部分:ls的內(nèi)容、pwd字符串、空 echo `ls `pwd``
總結(jié)
到此這篇關于Linux Shell腳本中如何獲取命令運行的結(jié)果的文章就介紹到這了,更多相關Shell腳本獲取命令運行結(jié)果內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Linux Shell循環(huán)中實現(xiàn)展示進度百分比的實現(xiàn)方法
這篇文章主要介紹了Linux Shell循環(huán)中實現(xiàn)展示進度百分比的實現(xiàn)方法的相關資料,這里提供實現(xiàn)方法及實例,需要的朋友可以參考下2017-08-08在 SHELL 腳本中調(diào)用另一個 SHELL 腳本的方法(報錯: go
在Linux平臺上開發(fā),經(jīng)常會在console(控制臺)上執(zhí)行另外一個腳本文件,經(jīng)常用的方法有:./my.sh 或 source my.sh 或 . my.sh;這三種方法有什么不同呢?這篇文章主要介紹了在 SHELL 腳本中調(diào)用另一個 SHELL 腳本的方法(報錯: go:not found),需要的朋友可以參考下2023-08-08