第55.1节:终端中的分支名称
什么是 PS1
PS1 代表提示字符串 1。它是 Linux/UNIX Shell 中的一种提示符。当你打开终端时,它会显示 PS1 变量中定义的内容。为了在 Bash 提示符中添加分支名称,我们需要编辑 PS1 变量(在 ~/.bash_profile 文件中设置 PS1 的值)。
显示 Git 分支名称
将以下代码添加到你的 ~/.bash_profile 文件中:
git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(git_branch)\[\033[00m\] $ "
代码解释
定义 git_branch 函数:
git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
git branch:列出当前分支。2> /dev/null:将错误信息(如不在 Git 仓库中)重定向到/dev/null,避免显示错误信息。sed -e '/^[^*]/d':删除所有非当前分支的行。sed -e 's/* \(.*\)/ (\1)/':将当前分支的名称提取出来,并用括号括起来。
设置 PS1 变量:
export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(git_branch)\[\033[00m\] $ "
\u:显示当前用户名。\h:显示主机名。\[\033[32m\]和\[\033[33m\]:设置颜色(绿色和黄色)。\w:显示当前工作目录。\$(git_branch):调用git_branch函数,显示当前分支名称。\[\033[00m\]:重置颜色。$:显示提示符。
使用方法
打开终端。
编辑 ~/.bash_profile 文件,将上述代码添加到文件中:
nano ~/.bash_profile
保存并关闭文件。
使更改生效:
source ~/.bash_profile
现在,当你在终端中导航到 Git 仓库时,会看到分支名称显示在提示符中,例如:
用户名@主机名 /home/用户名/项目 (main) $