Bash环境定制git分支提示符暨JDK版本切换脚本
一、在Bash提示符中显示Git分支
实现方法
-
编辑Bash配置文件
打开~/.bashrc
文件,添加以下代码:# 显示当前 Git 分支 parse_git_branch() { git branch 2>/dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/' } export PS1='\[\033[01;35m\]$PPX\[\033[00m\]\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\[\033[33m\]$(parse_git_branch)\[\033[00m\]\$ '
另一个版本是用git官方提供的
git-prompt.sh
脚本,该脚本内置了__git_ps1
函数实现上面parse_git_branch
相同的功能,但是
git-prompt.sh
所在的路径与Linux发行版相关,/usr/share/git/completion/git-prompt.sh
是Ununtu下apt-get安装git所在的位置
# 加载Git提示符支持
source /usr/share/git/completion/git-prompt.sh
# 定义PS1变量,包含Git分支信息
export PS1='\[\033[01;35m\]$PPX\[\033[00m\]\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1 " (%s)") \$ '
注意:上面的PS1
的定义中\[\033[01;35m\]$PPX\[\033[00m\]
是用于外部为提示符定义一个前缀,在下一章节会用到
-
应用配置
运行source ~/.bashrc
或重新打开终端,效果如下:user@host:~/project (main) $
二、通过脚本切换JDK版本
我们一般会有一个默认Java编译环境,比如JDK8,但有的时候,可能会需要临时切换到另一个JDK环境,比如JDK9以上的环境。这时需要设置PATH,JAVA_HOME等环境变量,频繁切换的时候其实麻烦的。
所以可以写下面这样的一个脚本实现默认JDK环境到JDK9的切换。
1. java9.sh
#!/bin/bash
# 设置 JAVA_HOME 和更新 PATH
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
# 设置命令行提示符标志,参见上一节中PS1变量的定义
export PPX='[J9]'
# 启动一个新的 Bash 会话
exec bash
2. 执行效果
三、总结
- Git分支集成:通过修改
PS1
变量实现动态分支显示,依赖Git的脚本支持。 - JDK版本管理:利用环境变量
JAVA_HOME
和PATH
控制Java版本,exec bash
确保配置生效。