This question already has answers here:
What is the difference between $(command) and `command` in shell programming?
(6个答案)
有人能解释一下Linux中`(反引号)和$)之间的区别吗?
非常感谢!
现在,我发现:
(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