我一直在try 自定义我的Bash提示符,使其看起来像
[feralin@localhost ~]$ _
有 colored颜色 的.我设法获得恒定的 colored颜色 (每次看到提示时都是相同的 colored颜色 ),但如果最后一个命令的退出状态为非零,我希望用户名('feralin')显示为红色,而不是绿色.我想到了:
\e[1;33m[$(if [[ $? == 0 ]]; then echo "\e[0;31m"; else echo "\e[0;32m"; fi)\u\e[m@\e[1;34m\h \e[0;35m\W\e[1;33m]$ \e[m
然而,从我的观察来看,当.bashrc
运行时,$(if ...; fi)
似乎被判断了一次,结果被永远替换.这使得名称始终为绿色,即使最后一个退出代码为非零(如,echo $?
).是这样吗?或者只是我的提示出了什么问题?长问题短问题how do I get my prompt to use the last exit code?