This question already has answers here:

What is the difference between $(command) and `command` in shell programming?
(6个答案)
有人能解释一下Linux中`(反引号)和$)之间的区别吗?
非常感谢!
现在,我发现:
$echo `echo \\\\ `
\
$echo $(echo \\\\ )
\\

最佳答案

记录在man bash中:
当使用旧式的反引号替换形式时,反斜杠保留其字面意义,除非后跟$`
\。不在反斜杠前面的第一个反引号终止命令替换。当使用$(command)表单时,所有
圆括号之间的字符构成了命令;没有一个字符是特殊处理的。
更重要的区别在于它们是如何筑巢的:

echo $(echo $(echo a))
echo `echo `echo a``   # Wrong
echo `echo \`echo a\``

关于linux - 为什么用反引号和$()替换命令会导致不同的输出? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34150970/

10-16 20:30