1.软文推荐

2.软文推荐

3.软文推荐

之前有读者问到,如何在终端显示当前的git分支,实际上这就是自定义终端显示配置了。不过在直接介绍如何显示当前分支之前,来看看到底怎么回事。

不过在直接介绍如何显示当前分支之前,来看看到底怎么回事。

bashrc配置

每次我们登录一个shell终端的时候,前面都有一些固定的显示信息:

root@ubuntu:#

这些显示信息其实可以配置的。 我们打开用户家目录下的.bashrc文件,找到类似下面的关于PS1的内容:

if [ "$color_prompt" = yes ]; then
   PS1='${debian_chroot:+($debian_chroot)}[]u@h[]:[]W[]$ '
else
   PS1='${debian_chroot:+($debian_chroot)}u@h:W$ '
fi

这里就是用来配置你的终端显示的了。 举个例子:

echo -e " red color "
red color
如何自定义终端显示配置如何自定义终端显示配置

而其他的符号什么意思呢?

d :代表日期,
H :完整的主机名称
h :仅取主机的第一个名字
	 :显示时间为24小时格式,如:HH:MM:SS
T :显示时间为12小时格式
A :显示时间为24小时格式:HH:MM
u :用户名
 :BASH的版本信息
w :完整的工作目录名称
W :列出最后一个目录
$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$

所以说白了,就是根据你自己的需要配置自己终端想要的信息。

这个时候我们再来看前面的其中一条简单的配置:

'${debian_chroot:+($debian_chroot)}u@h:W$ '

$debian_chroot这里我们可以忽略,因为它是一个变量的值,我们完全可以自定义。

可以看到这里有:

u 用户名
h 主机名
W 最后一个目录名
$ 提示字符

而通过命令获取的相关内容分别为:

$ whoami
root
$ hostname
ubuntu
$ basename `pwd`
公众号编程珠玑

所以我的终端最终显示的是:

root@ubuntu:公众号编程珠玑#

通常来说,默认的配置就可以了,经常需要改动的可能就是默认它显示了全路径,这里只需要将w 替换为 W即可。

然后执行命令:

source ~/.bashrc

让配置生效即可。

再来梳理一下过程:

根据需要修改PS1显示项
执行source .bashrc使其生效

这里注意,Linux启动过程中,配置文件加载是有顺序的,

某用户家目录下的bashrc只影响当前用户,如果想要全系统修改生效,可以修改/etc/bash.bashrc(系统差异,可能不一样)。

如何显示当前git分支

其实到这里你应该基本上已经明白了,无非就是将git当前分支的信息配置在PS1中罢了。

如何获取当前git分支

我们都知道:

$ git branch
 master
* testBranch

可以查看分支信息,其中前面有*的表示当前所在分支,所以我们通过字符处理拿到即可。

或者直接通过命令:

$ git rev-parse --abbrev-ref HEAD
testBranch

拿到。

将分支信息配置在PS1中

考虑到有的目录下可能并不存在git项目,所以需要做是否为空的判断,也要注意处理标准错误。因此将获取git分支信息的部分写成一个shell函数:

git_branch()
{
  branch=`git rev-parse --abbrev-ref HEAD 2>/dev/null`
  if [ "${branch}" != "" ]
  then
      if [ "${branch}" = "(no branch)" ]
      then
          branch="(`git rev-parse --short HEAD`...)"
      fi
      echo "($branch)"
  fi
}

将其加入到.bashrc文件结尾中,然后修改PS1的内容:

PS1='${debian_chroot:+($debian_chroot)}u@h:W$(git_branch)$ '
PS1='${debian_chroot:+($debian_chroot)}[]u@h[]:[]W$(git_branch)[]$ '

修改完成后保存,执行:

source ~/.bashrc

当前里面的颜色你可以根据自己的需要自定义。再来看看之前的效果,是不是觉得没那么难配置了?

总结

实际上就是根据自己的需要去配置终端显示罢了,可以自己选择颜色,变量内容等等。

本文来源:www.lxlinux.net/8332.html,若引用不当,请联系修改。

相关文章 8

1

Linux常用命令reject命令 1分钟前

Linux常用命令 reject命令 属于CUPS套件,用于指示打印系统拒绝发往指定目标打印机的打印任务,下面良许教程网为大家分享一下Linux常用命令...

2

WP Engine和DreamHost两大美国主机哪个好(wpa和wpe) 2分钟前

近年来美国主机因其稳定性高、价格便宜和免备案等特点成为国内站长建站的首要选择,WP Engine和DreamHost是两家目前国内比较知名的美国主...

3

m247服务器:香港/日本/新加坡/美国/欧洲等36个机房,1G~10Gbps带宽,65/月起 3分钟前

m247服务器怎么样,m247是个集团公司,分别注册在罗马尼亚和英国,2000年开始运作,主打网络数据中心服务等业务,包括独立服务器、CDN、...

4

在Linux用户空间做内核空间做的事情 4分钟前

Linux之因为没有成为世界上影响力最大的操作系统有可能是因为内核空间(kernel space)和用户空间(user space)之间的巨大差别。 Linux内核空间和用...

5

Linux gunzip 命令使用实例 6分钟前

gunzip 是一个使用广泛的解压缩命令,它用于解压被 gzip 压缩过的文件(扩展名为 .gz),下面为大家详细讲解一下Linux gunzip 命令使用实例。...

6

阿里云服务器价格表_2020阿里云按流量计费和宽带计费(阿里云服务器价格表2核8G 带宽4 8分钟前

阿里云服务器是用户最为关心的问题,影响阿里云服务器价格的因素主要分为三个部分:即实例配置价格+磁盘价格+网络宽带价格。 阿里云...

7

腾讯云代金券领取攻略:腾讯云无门槛代金券如何领取?(腾讯云代金券领取) 9分钟前

腾讯云新用户代金券领取攻略 ,腾讯云代金券有很多可以领取,总价值是是2860元代金券。如果我自己的账号实名过了,怎么样用新账号领取...

8

WordPress网站500内部服务器错误如何修复(wordpress做网页) 11分钟前

内部服务器错误是比较常见的WordPress错误之一。由于该错误的一般性质,它不会告诉开发人员任何信息,下面来看下WordPress网站出现500内部...