更新 1

更新 1

如何在 Bash 提示符中使用这些红色和绿色箭头符号?

在此处输入图片描述

更新 1

这是我的.bashrc文件

if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[\033[00m\]\ 
[\033[01;34m\]→  \w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}→  \w\$ '
fi
unset color_prompt force_color_prompt

我希望这个箭头的颜色与@dessert 之前回答的一样(对于错误和正确的命令变为红色和绿色)

答案1

您可以使用bash'sPROMPT_COMMAND来运行构建提示的函数,例如:

PROMPT_COMMAND=build_prompt

build_prompt() {
  EXIT=$?               # save exit code of last command
  red='\[\e[0;31m\]'    # colors
  green='\[\e[0;32m\]'
  cyan='\[\e[1;36m\]'
  reset='\[\e[0m\]'
  PS1='${debian_chroot:+($debian_chroot)}'  # begin prompt

  if [ $EXIT != 0 ]; then  # add arrow color dependent on exit code
    PS1+="$red"
  else
    PS1+="$green"
  fi

  PS1+="→$reset  $cyan\w$reset \\$ " # construct rest of prompt
}

将此代码添加到您的~/.bashrc文件中,然后打开一个新终端或. ~/.bashrc在现有终端中运行以使更改生效。请注意,我\$在末尾添加了通常的内容,如果您是 root $,这将正常打印#,从而防止您在不知情的情况下以 root 身份运行命令。该false命令是测试非零退出代码变体的好方法:

结果

如果你对 prompt 主题感兴趣,你一定要看看 shell zsh(package zsh),它有一个著名的配置框架哦我的天啊独自一人超过一百个主题。此外还有许多其他可用的插件,例如Spaceship ZSH 提示符

链接

答案2

如果有人想在箭头之前显示虚拟环境提示:

build_prompt() {
    EXIT=$?               
    red='\[\e[1;31m\]'
    green='\[\e[1;32m\]'
    blue='\[\e[1;34m\]'
    cyan='\[\e[1;36m\]'
    reset='\[\e[0m\]'

    PS1='${debian_chroot:+($debian_chroot)}'

    if [ -z "$VIRTUAL_ENV_DISABLE_PROMPT" ] ; then
        _OLD_VIRTUAL_PS1="$PS1"
        if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
            PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
        elif [ "$VIRTUAL_ENV" != "" ]; then
            PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
        fi
        if [ $EXIT != 0 ]; then
            PS1+="$red"
        else
            PS1+="$green"
        fi
    fi
    PS1+="→$reset  $cyan\w$reset \\$ "
    export PS1
}

PROMPT_COMMAND=build_prompt

这是当前帖子和以下帖子的混合:为什么 virtualenv 没有设置我的终端提示?

相关内容