![无法使用 zsh 回显单个字符](https://linux22.com/image/1501982/%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20zsh%20%E5%9B%9E%E6%98%BE%E5%8D%95%E4%B8%AA%E5%AD%97%E7%AC%A6.png)
设置:OSX 10.11.5 El Capitan。默认(5.0.8)和/或 brew 安装 zsh(5.2)。
我在使用 zsh 时遇到了一些奇怪的问题,它似乎:a) 屏蔽单个字符,b) 添加奇怪的控制字符。这会导致管道和解析出现问题。似乎 zsh 正在添加或删除额外的字符。它并不总是这样做,所以我认为这可能是配置问题。
我认为这两个问题是相关的,并且第一个问题更容易复制。
如果我将 shell 设置为 bash,那么我可以运行以下命令:
Phils-MBP-7:~ phil-mac$ echo -n A
APhils-MBP-7:~ phil-mac$
现在,如果我将 shell 设置为 zsh:
Phils-MBP-7:~ phil-mac$ chsh -s /bin/zsh
...
Phils-MBP-7% echo -n A
Phils-MBP-7%
Phils-MBP-7% echo -n AA
AA% Phils-MBP-7%
请注意,没有单字符版本,AA 版本似乎添加了换行符。这肯定与 zsh 尝试使输出美观但失败有关。
此外,不确定是否相关,但在终端中按下回车键后,上面的行上会出现一个蓝色的小左方括号。
有什么想法吗?提前致谢。
编辑:
直接运行 /bin/zsh 的结果:
Phils-MBP-7:~ phil-mac$ /bin/zsh
Phils-MBP-7% echo $PS1/$PROMPT
%m%# /%m%#
Phils-MBP-7% echo -n A
Phils-MBP-7%
Phils-MBP-7%
编辑2:是的,没有配置它仍然存在:
Phils-MBP-7:~ phil-mac$ zsh -f
Phils-MBP-7% echo -n A
Phils-MBP-7%
再次运行 echo:
Phils-MBP-7% echo -E $PS1
%m%#
并且在预命令挂钩中没有打印任何内容(我认为这就是你的意思@Adaephon):
Phils-MBP-7% whence precmd preexec $precmd_functions $preexec_functions
Phils-MBP-7%