我运行这两个命令,他们都似乎做同样的事情,这是真的还是有什么事情发生,我没有看到?
这两个似乎做同样的事情:
result=$(ls -l) result=`ls -l`
bash手册页在Command Change下面说了以下内容。
当使用旧式的反引号替换形式时,反斜线将保留其字面含义,除非后跟$,`,或。 第一个没有加反斜杠的反引号结束命令sub-sitution。 使用$(command)形式时,括号之间的所有字符构成命令; 没有一个是专门处理的
命令替换可能是嵌套的。 要使用反向引用的表单嵌套时,请用反斜杠将内部引号退出。
在线副本的手册页: