Как я могу использовать их, красно-зеленая стрелка входит в систему подсказка удара?
Это - мой .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 ответил прежде (покраснейте и зеленый для ложной и истинной команды),
Можно использовать 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
команда является хорошим способом протестировать ненулевой вариант кода выхода:
Если Вы в подсказку themeing, необходимо определенно смотреть на zsh
оболочка (пакет zsh
), чья известная платформа конфигурации, О, Мое один Zsh прибывает более чем с сотней тем. Дополнительно существует много других доступных плагинов, например, подсказка Spaceship ZSH.
Если кто-то хочет, чтобы подсказка 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 не устанавливает приглашение моего терминала?