与其他带有 kitty 终端的终端模拟器不同,我的 bash 提示符上没有颜色。我用的是ubuntu,我的PS1是\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
我需要为此设置什么?
谢谢
答案1
Kitty 可能无法被识别为彩色终端...$TERM
环境变量设置为什么?
在 gnome 终端中它说:
$ echo $TERM
xterm-256color
《小猫》中写道:
$ echo $TERM
xterm-kitty
检查你的.bashrc
这一行:
xterm-color|*-256color) color_prompt=yes;;
添加xterm-kitty
到它,像这样:
xterm-color|*-256color|xterm-kitty) color_prompt=yes;;
现在重新启动小猫。
答案2
我认为它可以与您的以下代码一起使用~/.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
。