现在,我的外壳设置为显示export PS1="\t \w $ "
有没有办法让提示变得动态,总是重新评估它的当前位置和格式,以遵循以下规则:
1. 在包含git
repo 的目录中时,它会更改为包含我所在的分支
19:42:07 (dev) ~ $
19:42:07 (release) ~ $
1.1 分支是否可以与提示的其余部分以不同的颜色显示?
2.在包含git
repo的目录之外时,它保持原样
19:42:07 ~ $
Git 发行版包含一个执行此操作的contrib/completion/git-completion.bash
文件,除此之外还有更多。该文件本身包含安装说明。
如果 git-completion.bash 解决方案不可行(例如:没有安装 git-completion 的权限等),您可以手动将以下功能添加到 .bashrc,
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
并从命令中调用该函数以格式化 PS1。我使用以下内容:
PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h: \[\e[33m\]\w\[\e[37m\]$(parse_git_branch)\[\e[32m\] \$\[\e[0m\] '
这导致
我所在ParVal
的分支机构的名称在哪里。