2

我一直在尝试创建一个花哨的 oh-my-zsh 主题,但不幸的是我遇到了一个烦人的障碍。

eval gray='$FG[245]'
yellow='226'
ret=$?
# error check
[[ $ret -ne 0 ]] && yellow='100'#THIS LINE NOT FUNCTIONING
#prompt
PROMPT='$gray%~ $(git_prompt_info)${FG[$yellow]}%(!. ⚡ .»)%{$reset_color%}'
RPROMPT='$gray%n:%m%{$reset_color%}$?'

到目前为止,这就是我所拥有的,虽然第六行不起作用,但我尝试过单括号,我尝试添加以 sh 而不是 zsh 运行它,我还尝试将 $ret 换成 $? 甚至将整个事情转移到一个完整的 if-then 设置,到目前为止,它都没有奏效。我是否以某种方式搞砸了语法,还是由于环境或实现而无法正常工作?
注意:
这里是 oh-my-zsh 所以这个配置文件是修改终端的命令提示符,$? 是最后一次运行命令的返回值。

4

2 回答 2

3
yellow='226'

这总是成功和 $? 之后为 0。

于 2013-11-12T01:41:38.573 回答
0

罗杰是对的,失败的路线是无用的。但是,我相信您的主要问题是您使用的是单引号,并且没有发生字符串替换。

$ a=foo

$ echo "$a"
foo

$ echo '$a'
$a

所以,使用双引号!单引号用于文字。

于 2013-11-12T04:10:31.950 回答