有什么区别 - > result = $(ls -l)(或) - > result =`ls -l`

时间:2010-02-07 04:11:30

标签: linux bash variables

我运行两个命令,他们似乎都做同样的事情,这是真的还是有什么事情发生我没有看到?

这两个似乎做同样的事情:

result=$(ls -l)   
result=`ls -l`

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:1)

bash手册页在命令替换下显示以下内容。

  

当旧式的反引号形式   使用替换,反斜杠   保留其字面意义除外   当后跟$,`或者。该   第一个反引号前面没有   反斜杠终止命令   代换。使用时   $(命令)表单,所有字符   括号之间弥补了   命令;没有人受到特别对待。

     

命令替换可以嵌套。   使用反引号时嵌套   形式,逃避内部反引号   反斜杠。

sh手册页的在线副本: