Terminal

Kitty 終端:我在 PS1 bash 提示符上沒有任何顏色

  • June 14, 2022

與其他帶有 kitty 終端的終端仿真器不同,我在 bash 提示符下沒有顏色。我正在使用 ubuntu,我的 PS1 是\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$

我要為此設置什麼?

謝謝

我認為它將與您的以下程式碼一起使用~/.bashrc

我不知道你是否需要篡改變數TERM,但它在我的 ~/.bashrc. 我幾年前借的,不知道/不記得什麼是真正必要的。

if [ "${TERM:0:5}" == "xterm" ]
then
typeset TERM=xterm-color  # force colour prompt
fi

function statstring {
RC=$?
 if [ "0" != $RC ]; then
   printf "[$RC] "
 fi
}
case "$TERM" in
xterm-color)
#    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

   if [ "$USER" = root ]; then
       PS1='\[\033[01;31m\]$(statstring)\[\033[00m\]${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w\[\033[00m\] \$ '
   else
       PS1='\[\033[01;31m\]$(statstring)\[\033[00m\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w\[\033[00m\] \$ '
   fi
   ;;
*)
   PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
   ;;
esac

if [ "$TERM" == "xterm-color" ]
then
typeset TERM=xterm  # force basic prompt
fi

說明:PC 電腦中的 ANSI 轉義序列以 ESC [ 開頭,在echo語句中我們可以使用 \0033(ASCII:3*8+3 = 27 表示 ESC)。有關 ANSI 序列的詳細說明,請參閱此連結

當命令返回錯誤程式碼時,還會出現“錯誤程式碼消息”。這是由函式控制的statstring

在此處輸入圖像描述

引用自:https://unix.stackexchange.com/questions/706179