zsh printf引用错误

有没有人有任何想法,为什么我会受到这个在zsh中的bug,因为永远? 这就像是某种string格式化错误:

~% printf "%s\n" foo " foo)foo 

基本上任何有双引号的东西都可以用类似的方式解释:

 ~% perl -e 'printf("%s\n", "foobar")' ", "foobar")')foobar 

Zshconfiguration不是精心devise,只是一些基本的东西,如:

 setopt appendhistory histignorealldups autocd autopushd bindkey -e zstyle :compinstall filename '/home/zike/.zshrc' autoload -Uz compinit compinit 

任何暗示为什么会发生? 谢谢。

这适用于我:

 > printf "%s\n" foo foo 

什么zsh版本你有什么系统? 我在Linux上有zsh 4.3.10。

好。 感谢回复,我终于unslacked,并再次检查configuration文件。 这个有趣的行为是由“preexec”钩子造成的:

 preexec () { print -Pn "\e]0;%m - %~ ($1)\a" } 

$1扩展到用户input和zsh得到格式说明符( %s是混淆)。 我还没有find一种方法来正确清理string,但tr -d %完成这项工作。 转义%没有帮助。