我一直在努力解决这个问题,无论我做什么,它总是返回 0 或绿色对勾...
这是在 .bashrc 中
Red='\e[0;31m'
Purple='\e[0;35m'
checkmark='\342\234\223'
function error_state()
{
if [[ $? == 0 ]]; then
echo "\[$Green\]\[$checkmark\]";
else
echo "\[$Red\]\[$?\]";
fi
PS1="\n \\[$Purple\]\342\224\214\342\224\200 \\[$Purple\][ \\[$(error_state)\] \\[$Purple\]]"
答案1
我会经过该功能的当前状态:
$(error_state "$?")
和
error_state() {
if [[ "$1" -eq 0 ]]; then ...
echo "\[$Green\]\[$checkmark\]";
else
echo "\[$Red\]\[$1\]";
fi
}