这个 POSIX echo \c 是什么?

Jas*_*sen 1 gnu echo posix

在寻找简单的真相时,echo我发现了这个页面:

https://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html

它通常是此站点上的 HTML 框架https://pubs.opengroup.org/onlinepubs/9699919799/(您可以在其中搜索“echo”)。

这声称是 POSIX,但我看不到,而是-n看到了\c

我发现了什么?

GracefulRestart指出的是/bin/echo承认\c,但它不这样做,默认情况下:我必须做echo -e\c得到认可。

Jde*_*eBP 5

您已经找到了 IEEE 1003.1-2017,又名单一 Unix 规范,由 The Open Group 发布。

有关更多信息,请参阅“ POSIX 到底是什么? ”、“ POSIX、单一 UNIX 规范和开放组基本规范之间的区别? ”及其所有链接的问题和答案。

-n是存在的,黑体不会少,所以很难错过。是的,\c是标准的。

行为的变化echo是臭名昭著的。您不应该感到惊讶,/bin/echo这与内置的 shell 不同echo,并且一个需要一个-e而另一个不需要。甚至没有那么简单。

有关详细解释,请参阅“为什么 printf 比 echo 更好? ”。

对于 的鲜为人知的可变性printf,具有讽刺意味的是涉及完全相同的\c转义序列,请参阅“ Bash printf 格式不工作”。