
注意:图中命令行提示符中的->是为了隐藏较长的用户名和主机名,可以通过~/.bashrc自定义提示符的显示格式。git br和git st是通过~/.gitconfig设置的git别名,git br相当于是git branch。
[alias] st = status co = checkout br = branch ci = commit
以Ubuntu系统为例,修改~/.bashrc,在PS1变量之前增加如下代码
function git-branch-name { git symbolic-ref --short HEAD 2>/dev/null } function git-branch-prompt { local branch=`git-branch-name` if [ $branch ]; then printf " <%s> " $branch; fi }
注:代码详细解释见:https://www.jianshu.com/p/82783f76a868
PS1 是 Shell 中的一个特殊变量, 用来表示命令行"提示符", 该变量的可选参数包括:
d: 显示日期, 格式为"星期 月 日"h: 显示简写主机名。如默认主机名 "localhost": 显示 24 小时制时间, 格式为 "HH:MM:SS"T: 显示 12 小时制时间, 格式为 "HH:MM:SS"A: 显示 24 小时制时间, 格式为 "HH:MM"u: 显示当前用户名w: 显示当前所在目录的完整名称W: 显示当前所在目录的最后一个目录#: 执行的第几个命令$: 提示符, 如果是 root 用户会显示提示符为 "#", 如果是普通用户会显示提示符为$
为了方便,将原来的u@h修改为->,隐藏用户名和主机名。根据个人喜好,可以不做修改,保持默认。
if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}[ 33[01;32m]->[ 33[00m]:[ 33[01;34m]w[ 33[00m]e[32m$(git-branch-prompt)e[0m$ ' else PS1='${debian_chroot:+($debian_chroot)}->:w$ ' fi