我正在处理自定义 ZSH 提示,我想n
在字符串中重复一个字符时间(例如用于填充的空格)。此字符串打印print -rP
(-r
标志忽略回显转义约定,-P
标志执行提示扩展)。
我有使用某种字符串替换的工作代码,但我不知道它是如何工作的。出于某种原因,我必须将要打印的字符数乘以 2,这感觉就像是 hack。
$ n=3
$ c='a'
$ print -rP "${(l:$n::$c:)}" # why doesn't this work?
ca
$ print -rP "${(l:(( $n * 2 ))::$c:)}" # but this does?
aaa
那么,1)为什么乘以 2 会起作用,以及 2)在字符串中重复 char 的正确语法是什么?