關於Shell中命令替換$(...)與後置引用`...`的不一樣

命令替換

在bash中,$( )` `(反引號)都是用來做命令替換的。
命令替換與變量替換差很少,都是用來重組命令行的,先完成引號裏的命令行,而後將其結果替換出來,再重組成新的命令行。bash

 

$( )與``

在操做上,這二者都是達到相應的效果,可是建議使用$( ),理由以下:命令行

  • ``很容易與''搞混亂,尤爲對初學者來講。
  • 在多層次的複合替換中,``必需要額外的跳脫處理(反斜線),而$( )比較直觀。
  • 最後,$( )的弊端是,並非全部的類unix系統都支持這種方式,但反引號是確定支持的。
# 將cmd1執行結果做爲cmd2參數,再將cmd2結果做爲cmd3的參數

cmd3 $(cmd2 $(cmd1))

# 若是是用反引號,直接引用是不行的,還須要做跳脫處理

cmd3 `cmd2 \`cmd1\``
相關文章
相關標籤/搜索