论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
开源技术
›
开源技术
›
提升你的下令行体验:自界说 Bash 提示符表现 Git 分支 ...
提升你的下令行体验:自界说 Bash 提示符表现 Git 分支 ...
风雨同行
论坛元老
|
2025-1-18 23:31:36
|
显示全部楼层
|
阅读模式
楼主
主题
1581
|
帖子
1581
|
积分
4743
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
1.弁言
在当今的软件
开发
天下中,下令行界面仍然是许多
开发
者的首选工作环境。而 Bash(Bourne Again Shell)作为最盛行的 shell 之一,其提示符是我们与系统交互的第一接触点。默认的 Bash 提示符固然功能性强,但往往缺乏个性化和更多实用信息。特殊是在利用 Git 举行版本控制时,可以或许直接在提示符中表现当前的 Git 分支信息,可以大大进步我们的工作效率。
本文将带你一步步定制 Bash 提示符,不但让它更美观,还能在 Git 仓库中主动表现分支信息,让你的下令行体验更上一层楼。
2.根本知识
Bash 提示符,也就是在终端中等待用户输入下令时表现的文本,默认大概是类似
user@hostname:~$
这样的格式。这个提示符是通过环境变量 **PS1 (Prompt String 1)**来界说的。PS1 可以包含纯文本,也可以包含特殊的转义序列来表现动态信息,如当前用户、主机名、当前目录等。
例如,一个基本的 PS1 大概是这样的:
export PS1="\u@\h:\w\$ "
复制代码
此中,
\u
代表当前用户名,
\h
代表主机名,
\w
代表当前工作目录。
3.自界说 Bash 提示符的步骤
要自界说 Bash 提示符,我们需要编辑 ~/.bashrc 文件。这个文件在每次打开新的 Bash 会话时都会被执行。
起首,打开 ~/.bashrc 文件:
可以用以下方式打开:
【利用 nano 编辑器】
nano ~/.bashrc
复制代码
【利用 vim 编辑器】
vim ~/.bashrc
复制代码
【利用 gedit(如果你利用的是带有图形界面的 Linux 系统)】
gedit ~/.bashrc
复制代码
这会在图形界面中打开一个文本编辑器窗口。
【利用 emacs 编辑器】
emacs ~/.bashrc
复制代码
【利用 VS Code(如果已安装)】
code ~/.bashrc
复制代码
然后,在文件末尾添加你的自界说 PS1。以下是一些常用的 PS1 转义序列:
\u: 当前用户名
\h: 主机名
\w: 当前工作目录(完整路径)
\W: 当前工作目录(仅当前目录名)
\d: 当前日期
\t: 当前时间
\$: 如果是 root 用户显示 #,否则显示 $
复制代码
4.添加 Git 分支表现功能
为了在提示符中表现 Git 分支信息,我们需要创建一个函数来获取当前的 Git 分支。将以下函数添加到你的 ~/.bashrc 文件中:
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
}
复制代码
这个函数的工作原理如下:
利用
git branch
下令获取分支信息,
2>/dev/null
将错误输出重定向到 null,制止在非 Git
目录中表现错误信息。
利用
grep “^\*”
筛选出当前分支(以 * 开头的行)。
利用
sed
下令移除行首的 * 和空格。
如果不在任何分支上(例如在查看特定的提交时),则表现简短的提交哈希。
然后,我们将这个函数集成到 PS1 中:
export PS1='\u@\h \[\033[01;36m\]\w\[\033[01;32m\]$(git_branch)\[\033[00m\] \$ '
复制代码
5.颜色和格式化
在上面的 PS1 界说中,我们利用了 ANSI 转义序列来添加颜色:
\[\033[01;36m\]: 设置随后的文本为亮青色
\[\033[01;32m\]: 设置随后的文本为亮绿色
\[\033[00m\]: 重置文本颜色到默认值
复制代码
利用不同的颜色可以让不同的信息更加醒目,进步可读性。例如,我们将当前目录设置为青色,Git 分支信息设置为绿色,这样可以快速区分不同类型的信息。
6.终极结果展示
保存并退出 ~/.bashrc 文件后,运行以下下令使更改收效:
source ~/.bashrc
复制代码
现在,你的 Bash 提示符将变得更加信息丰富和美观。
在 Git 仓库中,它大概看起来像这样:
user@hostname ~/projects/my-awesome-project (master) $
复制代码
在非 Git 目录中:
user@hostname ~/documents $
复制代码
7.总结
当你运行 source ~/.bashrc
后,这段设置会收效,重要影响你的下令提示符(prompt)的表现方式。具体结果如下:
你的下令提示符会变得更加信息丰富,包含以下元素:
用户名
主机名
当前工作目录(以青色表现)
Git 分支信息(如果当前目录是 Git 仓库,则以绿色表现)
Git 分支信息的表现:
如果你当前不在任何 Git 仓库中,不会表现分支信息。
如果你在 Git 仓库中,会表现当前分支名称。
如果你处于分离头指针(detached HEAD)状态,会表现简短的提交哈希。
提示符的格式大抵如下:
username@hostname /current/directory (git-branch) $
颜色coding:
当前工作目录会以青色(cyan)表现
Git 分支信息会表现
这个设置会使得在 Git 仓库中工作时更加方便,因为你可以随时看到当前的分支信息。
末了的 $ 符号表示普通用户,如果是 root 用户,这里会表现 #。
例如,如果你的用户名是 “user”,主机名是 “laptop”,当前在 “/home/user/projects/myproject” 目录下,并且在 Git 仓库的 “develop” 分支上,你的提示符大概会看起来像这样:
user@laptop /home/user/projects/myproject (develop) $
复制代码
这个设置使得下令行界面更加信息丰富和直观,特殊是在举行 Git 操作时非常有效。
这个自界说提示符不但美观,而且提供了有效的上下文信息,特殊是在处理多个 Git 项目时,可以让你始终知道你在哪个分支上工作。
通过这些步骤,你已经乐成地自界说了你的 Bash 提示符,使其不但美观,还能表现 Git 分支信息。这将大大提升你的下令行工作体验和效率。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
风雨同行
论坛元老
这个人很懒什么都没写!
楼主热帖
深入Python网络编程:从基础到实践 ...
MySQL锁(乐观锁、悲观锁、多粒度锁) ...
中职网络安全技能大赛SSH弱口令渗透测 ...
阿里云体验有奖:如何将 PolarDB-X 与 ...
HTML+CSS+JS——动漫风二次元论坛(2页) ...
四、MySQL之数据查询语言(二) ...
超融合和传统 “VMware + FC SAN& ...
转载自ChatGPT:Python关键字 asynico ...
损失函数-pytorch
ClickHouse(02)ClickHouse架构设计介绍 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
主机安全
数据仓库与分析
Oracle
物联网
公有云
IOS
运维.售后
快速回复
返回顶部
返回列表