为什么带有反斜杠的命令在$()和``(反斜杠)之间有不同的输出

  • 本文关键字:输出 之间 命令 shell
  • 更新时间 :
  • 英文 :


我发现了这个:

echo `echo \n`

输出为n

echo $(echo \n)

输出为n

我知道$()可以执行嵌套,而``不能,但似乎还有其他区别。

后引号用于旧式命令替换,例如

foo=`command`

foo=$(command)

建议使用语法。$()内部的后向间隙处理不那么令人惊讶,而$()更容易嵌套。看见http://mywiki.wooledge.org/BashFAQ/082

  1. 关于`...`语法在:
echo `echo \n`
  • `echo \n`返回n文本
  • echo n返回n
    • 这与返回ASCII LF字符的echo -e "n"非常不同
  1. 关于$(...)语法在:
echo $(echo \n)
  • `echo \n`返回n文本,但返回的$(...)类似于一个令牌"n"
  • echo "n"返回n

相关内容

  • 没有找到相关文章

最新更新