Как я могу использовать стрелку, входят в систему моя подсказка удара?

Как я могу использовать их, красно-зеленая стрелка входит в систему подсказка удара?

enter image description here

обновление 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 ответил прежде (покраснейте и зеленый для ложной и истинной команды),

17
задан 26 March 2019 в 08:43

2 ответа

Можно использовать bash PROMPT_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 в существующем для изменений для вступления в силу. Обратите внимание, что я добавил обычное \$ в конце это печатает $ обычно и # если Вы - корень, таким образом препятствуя тому, чтобы Вы выполнили команды как корень невольно. false команда является хорошим способом протестировать ненулевой вариант кода выхода:

result

Если Вы в подсказку themeing, необходимо определенно смотреть на zsh оболочка (пакет zsh), чья известная платформа конфигурации, О, Мое один Zsh прибывает более чем с сотней тем. Дополнительно существует много других доступных плагинов, например, подсказка Spaceship ZSH.

Ссылки

25
ответ дан 23 November 2019 в 02:21

Если кто-то хочет, чтобы подсказка virtualenv появлялась перед стрелками:

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 не устанавливает приглашение моего терминала?

0
ответ дан 30 November 2020 в 20:37

Другие вопросы по тегам:

Похожие вопросы: