簡體   English   中英

當命令出錯時,如何為 bash PS1 賦予不同的顏色?

[英]How can i give a different colour to bash PS1 when the command errors out?

我有一個 bash function 可以在出錯時為我的 bash PS1 着色,但它不起作用,知道為什么嗎?

代碼:

cwd=$(pwd | sed "s:^$HOME:~:")
reset="\e[0m"

function check_colour() {
    if [[ "$?" == "0" ]];
    then
        colour="\e[0;92m" # green
    else
        colour="\e[0;91m" # red
    fi
    echo -en "\n${colour}╭─${reset} \u ${colour}at${reset} \h ${colour}in${reset} ${cwd}${reset}\n${colour}╰> ${reset}"
}

PS1=`check_colour`

結果:

在此處輸入圖像描述

預期成績:

在此處輸入圖像描述

我已經修好了

reset="\e[0m"
 
function check_colour() {
    if [[ "$?" == "0" ]];
    then
        colour="\e[0;92m" # green
    else
        colour="\e[0;91m" # red
    fi
    cwd="$(pwd | sed "s:^$HOME:~:")"
    export PS1="\n${colour}╭─${reset} \u ${colour}at${reset} \h ${colour}in${reset} ${cwd}${reset}\n${colour}╰> ${reset}"
}
 
PROMPT_COMMAND="check_colour"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM