为什么回显$'\ n'打印2行?

kar*_*ani -1 linux bash shell

我正在尝试学习Shell脚本,并且遇到了ANSI-C Quoting。我知道,反冲转义序列将由ANSI-C标准解码。根据链接,echo $'\n'应打印单个换行符。我不明白为什么要echo $'\n'打印两个换行符?

Kam*_*Cuk 5

我们来看一些文档:

来自posix echo

echo实用程序将其参数写入标准输出,后跟<newline>。

有一个论据echo。参数是$'\n'-,将其解码为换行符。因此echo打印它的参数-一个换行符-后跟一个换行符-这样总共两个换行符。

  • 至少在使用Gnu echo的情况下,可以使用-n参数来抑制最后的换行符。http://linuxcommand.org/lc3_man_pages/echoh.html (2认同)