printf在zsh中添加了神秘的尾随%字符

时间:2019-07-25 20:28:55

标签: printf zsh

我想在zsh中打印重复的*字符。 This answer的解决方案适用于bash

printf '*%.0s' {1..50}

但是,当我在zsh中运行该命令时,会得到以下输出:

**************************************************%

结尾的%符号具有倒置颜色。这对我来说很神秘,我想知道为什么会这样,如何避免呢?

1 个答案:

答案 0 :(得分:2)

这不是字符,而是缺少字符。

如果输出的最后一行未终止(即不以换行符\n结尾),则zsh会显示反向视频%的符号。参见http://zsh.sourceforge.net/Doc/Release/Options.html#Prompting

解决方法是只输出终止换行符:

printf '*%.0s' {1..50}; echo