如何在bash提示中使用箭头符号?


17

如何在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之前回答的颜色(将红色和绿色表示为false和true命令)

Answers:


25

您可以使用bashPROMPT_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命令是测试非零退出代码变体的好方法:

结果

如果您打算快速主题化,那么您绝对应该看一下zshshell(程序包zsh),其著名的配置框架Oh My Zsh本身就有数百个主题。此外,还有许多其他可用的插件,例如SpaceshipZSH提示

链接


1
虽然这是一个很棒的纯bash解决方案,但您可以看看zsh(作为bash的替代品),尤其是太空飞船的提示
Richard de Wit
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.