Linux 终端显示 Git 当前所在分支

一、前置预备知识

PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数。

在~/.bashrc中修改PS1的环境变量可以修改主机提示符

常规设置参数

PS1是主提示符变量,也是默认提示符变量。默认值[\u@\h \W]\$,显示用户主机名称工作目录。

基本上通过设置PS1来定义命令行提示字符即可,最常用的需求就是显示登录的用户名、主目录、主机名等等。

export PS1='\[\\u@\\h \\W\]\\ \n\$'

yupei.syp@i22d01224 model\]$ $ PS1变量可以使用的参数值有如下: 参数 描述 /d 代表日期,格式为weekday month date,例如:"Mon Aug 1" /H 完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux /h 仅取主机的第一个名字,如上例,则为fc4,.linux则被省略 /t 显示时间为24小时格式,如:HH:MM:SS /T 显示时间为12小时格式 /A 显示时间为24小时格式:HH:MM /u 当前用户的账号名称 /v BASH的版本信息 /w 完整的工作目录名称。家目录会以 \~代替 /W 利用basename取得工作目录名称,所以只会列出最后一个目录 /# 下达的第几个命令 /$ 提示字符,如果是root时,提示符为:# ,普通用户则为:$ /\[ 字符"\[" /\] 字符"\]" /! 命令行动态统计历史命令次数 PS1颜色设置参数 在PS1中设置字符颜色的格式为:\\\[\\e\[F;Bm\\\]........\\\[\\e\[0m\\\] 其中"F"为字体颜色,编号为30-37,"B"为背景颜色,编号为40-47,\\\[\\e\[0m\\\]作为颜色设定的结束。 颜色对照表: F B 30 40 黑色 31 41 红色 32 42 绿色 33 43 黄色 34 44 蓝色 35 45 紫红色 36 46 青蓝色 37 47 白色 只需将对应数字套入设置格式中即可。 比如要设置命令行的格式为绿字黑底(\\\[\\e\[32;40m\\\]),显示当前用户的账号名称(\\u)、主机的第一个名字(\\h)、完整的当前工作目录名称(\\w)、24小时格式时间(\\t),可以直接在命令行键入如下命令: $export PS1='\[\\\[\\e\[32;40m\\\]\\u@\\h \\w \\t\]$ \\\[\\e\[0m\\\]' \[yupei.syp@i22d01224 \~/wly.dev/model 09:46:47\]$ 二、显示git分支提示 基于上面PS1的基础知识进行配置PS1的设置,如下 function git_branch { branch="\`git branch 2\>/dev/null \| grep "\^\\\*" \| sed -e "s/\^\\\*\\ //"\`" if \[ "${branch}" != "" \];then if \[ "${branch}" = "(no branch)" \];then branch="(\`git rev-parse --short HEAD\`...)" fi echo " → $branch" fi } PS1='\\\[\\033\[01;32m\\\]\\u@\\h\\\[\\033\[00m\\\]:\\\[\\033\[01;34m\\\]\\w\\\[\\033\[00m\\\]\\\[\\033\[01;32m\\\]$(git_branch)\\\[\\033\[00m\\\]\\n\\$' 效果图 ------------------------------------------------ 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/yupei881027/article/details/111352991

相关推荐
咖啡教室12 小时前
日常开发中常用的git操作命令和使用技巧
git
cg501715 小时前
Spring Boot 的配置文件
java·linux·spring boot
暮云星影15 小时前
三、FFmpeg学习笔记
linux·ffmpeg
rainFFrain15 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon15 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
mingqian_chu16 小时前
ubuntu中使用安卓模拟器
android·linux·ubuntu
GalaxyPokemon17 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++
自由鬼17 小时前
开源虚拟化管理平台Proxmox VE部署超融合
linux·运维·服务器·开源·虚拟化·pve
瞌睡不来17 小时前
(学习总结32)Linux 基础 IO
linux·学习·io