Bash脚本:“$(命令)”和“命令”之间的区别

时间:2013-01-04 05:01:21

标签: linux bash scripting sh

  

可能重复:
  Command substitution: backticks or dollar sign / paren enclosed?

我想知道使用之间的区别

var="$(command)"

var=`command`

在bash脚本中,显然有两种方法可以得到相同的结果,但可能存在一些差异。

2 个答案:

答案 0 :(得分:1)

第一个更好,因为你可以嵌套命令替换,它不会变得尴尬。

Further Reading

答案 1 :(得分:1)

来自bash man page

  

当使用旧式反引号替换形式时,反斜杠保留其字面含义,除非后跟'$','`'或'\'。第一个不带反斜杠的反引号会终止命令替换。使用$(命令)表单时,括号之间的所有字符组成命令;没有人受到特别对待。

(那里有更多有趣的事情;请阅读整篇文章:))