Linux: shell 中命令代换 $() 和 ``(有图有代码有真相!!!)
生活随笔
收集整理的這篇文章主要介紹了
Linux: shell 中命令代换 $() 和 ``(有图有代码有真相!!!)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、命令代換(命令替換)
由 ` `?或 ?$() 括起來的也是一條命令,shell先執(zhí)行該命令,再將結果立刻代換到當前命令行中。
簡單例子:
DATE=`date`
echo $DATE
?DATE=$(date)
??echo $DATE
執(zhí)行結果:
二、優(yōu)缺點:
1、反引號的缺點
1).它比較陳舊。?
2).非常容易和單引號混淆。?
3).它會對\進行跳脫處理。而$()不會。?
結果分析:我們知道,shell里的單引號會保持所有字符的字面值;
正確的的執(zhí)行結果應該是: ? ?\ \?
實際上用反引號輸出的結果卻是: ? \ ??
這就是由于它對 \ 進行了跳脫處理。
總結:所以,一般情況下建議使用$(),這樣比較直觀,但是它也有它的缺點,并不是所有的類unix系統都支持這種方式,但反引號是肯定支持的。也就是說移植性不如反引號
2、$()
1)以$(command) 的形式可以互相嵌套多個命令擴展。
2)反引號基本上可用在全部的 unix shell 中使用,若寫成 shell script ,其移植性比較高。
但是 $( ) 并不見的每一種 shell 都能使用
總結
以上是生活随笔為你收集整理的Linux: shell 中命令代换 $() 和 ``(有图有代码有真相!!!)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 函数式反应型编程(FRP)
- 下一篇: 18大数据下载