Bash Prompt 返回错误代码

Bash Prompt 返回错误代码

我一直在努力解决这个问题,无论我做什么,它总是返回 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
}

相关内容