定制性感Bash提示-Git分支/状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定制性感Bash提示-Git分支/状态相关的知识,希望对你有一定的参考价值。

customized version of Sexy Bash Prompt
  1. # Sexy Bash Prompt, inspired by "Extravagant Zsh Prompt"
  2. # Screenshot: http://img.gf3.ca/d54942f474256ec26a49893681c49b5a.png
  3. # A big thanks to amethyst on Freenode
  4.  
  5. if [[ $COLORTERM = gnome-* && $TERM = xterm ]] && infocmp gnome-256color >/dev/null 2>&1; then export TERM=gnome-256color
  6. elif infocmp xterm-256color >/dev/null 2>&1; then export TERM=xterm-256color
  7. fi
  8.  
  9. if tput setaf 1 &> /dev/null; then
  10. tput sgr0
  11. if [[ $(tput colors) -ge 256 ]] 2>/dev/null; then
  12. MAGENTA=$(tput setaf 9)
  13. ORANGE=$(tput setaf 172)
  14. GREEN=$(tput setaf 190)
  15. PURPLE=$(tput setaf 141)
  16. WHITE=$(tput setaf 256)
  17. else
  18. MAGENTA=$(tput setaf 5)
  19. ORANGE=$(tput setaf 4)
  20. GREEN=$(tput setaf 2)
  21. PURPLE=$(tput setaf 1)
  22. WHITE=$(tput setaf 7)
  23. fi
  24. BOLD=$(tput bold)
  25. RESET=$(tput sgr0)
  26. else
  27. MAGENTA="33[1;31m"
  28. ORANGE="33[1;33m"
  29. GREEN="33[1;32m"
  30. BLUE="33[1;34m"
  31. PURPLE="33[1;35m"
  32. WHITE="33[1;37m"
  33. BOLD=""
  34. RESET="33[m"
  35. fi
  36.  
  37. parse_git_dirty () {
  38. [[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "*"
  39. }
  40. parse_git_branch () {
  41. git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* (.*)/1$(parse_git_dirty)/"
  42. }
  43.  
  44. # PS1='${debian_chroot:+($debian_chroot)}u[]@[$BOLD]h[33[00m]:[33[01;34m]w[33[00m]$ '
  45.  
  46. PS1="[$WHITE][$BOLD]u[$RESET]@[$WHITE][$BOLD]h[$RESET]:[33[01;34m][$BOLD]w[$WHITE]$([[ -n $(git branch 2> /dev/null) ]] && echo " [$RESET]on ")[$WHITE][$BOLD]$(parse_git_branch)[$RESET] $ [$RESET]"
  47.  
  48. # [End] Sexy Bash Prompt, inspired by "Extravagant Zsh Prompt"

以上是关于定制性感Bash提示-Git分支/状态的主要内容,如果未能解决你的问题,请参考以下文章

Git Bash 提示 - 当前分支名称在 Git 命令后停止显示

sh 颜色有趣你的bash提示+ git分支

Git Bash常用命令

text 自定义BASH PS1提示以显示当前的GIT存储库和分支

在 Shell 提示符中显示 Git 分支名称

在 Linux 上显示当前分支和着色(如 Windows 上的 Git Bash)