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

相关推荐
热爱嵌入式的小许1 小时前
Linux基础项目开发1:量产工具——显示系统
linux·运维·服务器·韦东山量产工具
韩楚风5 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学5 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO5 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
Pythonliu75 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我5 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、5 小时前
【Linux】进程地址空间(初步了解)
linux
栎栎学编程5 小时前
Linux中环境变量
linux
挥剑决浮云 -6 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
小O_好好学7 小时前
CentOS 7文件系统
linux·运维·centos