我想*在 zsh 中打印重复的字符。这个答案有一个解决方案,适用于bash:
printf '*%.0s' {1..50}
Run Code Online (Sandbox Code Playgroud)
但是,当我在 中运行它时zsh,我得到以下输出:
**************************************************%
Run Code Online (Sandbox Code Playgroud)
尾随%标志颜色反转的地方。这对我来说很神秘,我想知道为什么会发生这种情况,我该如何避免?
这不是一个角色,这是缺乏一个角色。
如果输出的最后一行未终止(即不以换行符结束\n),则 zsh 显示反向视频%符号。请参阅http://zsh.sourceforge.net/Doc/Release/Options.html#Prompting。
解决方法是只输出一个终止的换行符:
printf '*%.0s' {1..50}; echo
Run Code Online (Sandbox Code Playgroud)