为什么 echo -n 后面会带着一个百分号

 ~/ echo -n 1
1%
 ~/ echo 1
1
 ~/ echo -e 1
1
 ~/

在mac中使用echo -n的时候,发现其后面跟了一个%,比较奇怪,我预期中是直接1后面跟着命令提示符的。

查了资料:
zsh - Printf puts a percent sign after everything it prints - Stack Overflow

原来是 zsh 的一个行为,为了不污染下一个命令提示符,但是又想告诉你此行没有换行符,所以使用%表示输出已经截止了。

正常的 bash 中,应该是这样的:

bash-3.2$ echo -n 1
1bash-3.2$

1 在下一个命令提示符的前面

稍微提一句,sh 里面是不支持 echo 的 -n 参数的

posted @ 2023-12-11 13:04  吴丹阳-V  阅读(30)  评论(0编辑  收藏  举报