当前位置: 首页 > news >正文

Bash环境定制git分支提示符暨JDK版本切换脚本

一、在Bash提示符中显示Git分支

实现方法

  1. 编辑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\]是用于外部为提示符定义一个前缀,在下一章节会用到

  1. 应用配置
    运行 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. 执行效果

在这里插入图片描述

三、总结

  1. Git分支集成:通过修改 PS1 变量实现动态分支显示,依赖Git的脚本支持。
  2. JDK版本管理:利用环境变量 JAVA_HOMEPATH 控制Java版本,exec bash 确保配置生效。

相关文章:

  • 高光谱相机在水果分类与品质检测中的应用
  • 网络编程中客户端与服务器的搭建与协议包应用
  • linux 基础网络配置文件
  • MyBatis框架操作数据库一>xml和动态Sql
  • pnpm创建vite
  • STM32 DAC详解:从原理到实战输出正弦波
  • Spring 学习日记 day2
  • 使用fastapi部署stable diffusion模型
  • 如何记录Matlab程序运行过程中所占用的最大内存(续)
  • 天梯赛 L2-005 集合相似度
  • 配置 VSCode 的 C# 开发环境
  • 山寨币ETF的叙事,不灵了?
  • 【css酷炫效果】纯CSS实现全屏粒子连线
  • sparksql的Transformation与 Action操作
  • 解决git init 命令不显示.git
  • 3.1 在VisionPro脚本中添加CogGraphicLabel
  • LeetCode 热题 100_跳跃游戏(78_55_中等_C++)(贪心算法)
  • 技术路线图ppt模板_流程图ppt图表_PPT架构图
  • 购物车全选功能
  • Api架构设计--- HTTP + RESTful
  • 超越梅罗,这样一个亚马尔折射巴萨的容错率
  • 前行中的“模速空间”:要攻克核心技术,也要成为年轻人创业首选地
  • 乌副总理:乌美签署矿产协议
  • 美商界报告:全美超86万岗位依赖对华出口,关税将重创美国出口商
  • 擦亮“世界美食之都”金字招牌,淮安的努力不止于餐桌
  • 神舟十九号载人飞行任务取得圆满成功