我发现zsh不打印不包含新行的字符串。 这是一个例子:
[240 ~]>echo -n "35" > js.id
[240 ~]>cat js.id
[240 ~]>xxd -p js.id
3335
如果文件js.id
包含新行,则zsh会正常打印所有字符串。
[240 ~]>echo "35" > js.id
[240 ~]>cat js.id
35
[240 ~]>xxd -p js.id
33350a
BTW,这是我的setopt配置:
[240 ~]>setopt PROMPT_CR PROMPT_SP
setopt: no such option: PROMPT_SP
[240 ~]>setopt
interactive
login
monitor
shinstdin
zle
[240 ~]>echo -n 'str'
[240 ~]>echo 'str'
str
答案 0 :(得分:0)
也许您(或您复制的某些配置?)取消设置选项PROMPT_SP
或PROMPT_CR
?
启动zsh忽略所有配置文件,以验证默认情况下它是否显示这样的文件:
~ % zsh -f
% echo -n 35 > int.txt
% cat int.txt
35%
%
请注意,如果Zsh未在换行符(%
)上结束,则会在文件末尾显示PROMPT_SP
。