我正在尝试修改PROMPT变量以包含一些其他信息。我目前的PROMPT还包括右侧的git状态。它看起来像这样:
ex2 ➤ git:master*
我想在当前文件夹前面写一些文字 - 比如[Drone]。我目前正在按照以下方式进行,
export PROMPT=%{"$fg[green] [Donre]"$fg[$NCOLOR]%}%c ➤ %{$reset_color%}
但这会产生两个问题。 1.箭头字符不再正确解析,我收到错误,如
" not valid in this context: ➤"
2。 git状态被推送到下一行。 新提示显示为,
/home/arul/.zshrc:export:100: not valid in this context: ➤
[Drone]ex2 git:maste
r*
有人可以帮我正确修改PROMPT吗?
答案 0 :(得分:0)
%{...}
不会逃脱其中包含的任何空格;您应该引用整个值,以确保为分配正确转义任何封闭的空格。
export PROMPT="%{$fg[green] [Donre]$fg[$NCOLOR]%}%c ➤ %{$reset_color%}"
原样,箭头字符被视为export
命令的单独参数(以及无效的参数名称)。顺便说一句,export
可能是不必要的。每个需要PROMPT
值的shell都可能正在执行包含此赋值的任何配置文件。
考虑使用zsh
自己对颜色的支持,以便您根本不需要%{...}
。
PROMPT="%F{green} [Donre]%F{...}%c ➤ %f"
(其中...
是$NCOLOR
代表的任何颜色。)