显示上一个命令返回状态和时间

有时我们需要一个视觉提示来指示上一个命令的返回状态。下面的片段将它放在 PS1 的头部。

请注意,每次生成新的 PS1 时都应调用 __stat() 函数,否则它将坚持 .bashrc 或 .bash_profile 的 last 命令的返回状态。

# -ANSI-COLOR-CODES- #
Color_Off="\033[0m"
###-Regular-###
Red="\033[0;31m"
Green="\033[0;32m"
Yellow="\033[0;33m"
####-Bold-####

function __stat() {
    if [ $? -eq 0 ]; then
        echo -en "$Green ✔ $Color_Off "
    else
        echo -en "$Red ✘ $Color_Off "
    fi
}

PS1='$(__stat)'
PS1+="[\t] "
PS1+="\e[0;33m\u@\h\e[0m:\e[1;34m\w\e[0m \n$ "

export PS1

StackOverflow 文档