介绍

好看的终端是怎么做的呢?通过PS1这个环境变量!

PS1的格式

PS1='[\u@\h \w]\$ '

样式:

解释:

  • [是普通字符
  • \u代表用户
  • @是普通字符
  • \h是主机名(只取第一个名字)
  • \w是完整的工作目录名称。家目录会以 ~代替
  • ]是普通字符
  • \$是提示字符,如果是root时,提示符为:# ,普通用户则为:$
  • 最后应有一个空格,提高可读性。

所有转义字符:

\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时,提示符为:# ,普通用户则为:$
\! :命令行动态统计历史命令次数(连续两个相同命令按一个命令计算)
\# :命令行动态统计历史命令次数(连续两个相同命令会累加)

设置字体样式

可以设置背景色、字体颜色和其他样式

格式

\[\e[A;F;Bm\]	#放在字体的左边,可以影响后面所有字体的样式

解释:

  • F代表字体颜色值(Font),颜色编号30~37。
  • B代表背景颜色值(Background),颜色编号40~47。
  • A代表加粗、下划线等样式。编号:0~8。
  • A、B、F之间用分号隔开,顺序可以任意。
  • 如果不想有某样式,省略即可。特殊的:\[\e[0m\]表示没有样式。这样可以避免被前面的样式影响。

所有颜色:

F   B  颜色
30 40 黑色
31 41 红色
32 42 绿色
33 43 黄色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 白色

所有样式:

0	关闭所有属性
1 高亮显示
2 所有字符都有下划线
3 斜体
4 用户输入输出带有下划线
7 反显,有字符的地方有背景

举例


解释:

  • \[\e[32;47m\]表示字体为绿色,背景为白色。
  • \[\e[0m\]表示无样式,避免被前面的\[\e[32;47m\]影响。
  • 最后的\[\e[04m\]表示用户输入输出的样式:下划线。

小建议

将各种样式用变量名代替,方便阅读和设置

export lack=$'\[\e[1;30m\]'
export red=$'\[\e[1;31m\]'
export green=$'\[\e[1;32m\]'
export yellow=$'\[\e[1;33m\]'
export blue=$'\[\e[1;34m\]'
export magenta=$'\[\e[1;35m\]'
export cyan=$'\[\e[1;36m\]'
export white=$'\[\e[1;37m\]'
export normal=$'\[\e[m\]'

进阶

如果当前的目录是github项目,可以动态显示当先所在的分支。

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
}
export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(git_branch)\$ '

效果:

那年,郭少在京城。

Linux中的环境变量PS1,打造你的专属终端的更多相关文章

  1. Linux中PATH环境变量的作用和使用方法

    关于PATH的作用:PATH说简单点就是一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径.比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls这个命令根 ...

  2. linux中的环境变量/etc/profile /etc/bashrc ~/.bash_profile ~/.bashrc

    来源:https://blog.csdn.net/zzhongcy/article/details/108663751 /etc/profile ============ 此文件为系统的每个用户设置环 ...

  3. Linux有问必答:如何在Linux中修改环境变量PATH

    提问: 当我试着运行一个程序时,它提示“command not found”. 但这个程序就在/usr/local/bin下.我该如何添加/usr/local/bin到我的PATH变量下,这样我就可以 ...

  4. Linux中的环境变量PATH

    一.介绍 在讲环境变量之前,先介绍一下命令which,它用于查找某个命令的绝对路径,示例如下: 在上面的示例中,用which查到rm命令的绝对路径为/usr/bin/rm. 那么问题来了:为什么我们使 ...

  5. Linux中修改环境变量

    <1>Linux 的变量作用范围可分为两类:环境变量和本地变量 环境变量,或者称为全局变量,存在与所有的shell 中,在你登陆系统的时候就已经有了相应的系统定义的环境变量了.Linux ...

  6. Linux中配置环境变量

    Linux中环境变量的搭建(推荐用法) 第一步:进入到/etc/profile.d文件夹下 cd /etc/profile.d 第二步:创建并编辑一个my_env.sh文件 vim my_env.sh ...

  7. linux中的环境变量

    linux中用到很多的环境变量的设置,这里推荐一个博客: http://www.cnblogs.com/mengyan/archive/2012/09/04/2669894.html

  8. Linux中与环境变量相关的函数

    1.在终端可以通过env.set命令查看当前的环境变量 2.通过main函数中的第三个参数可以得到当前进程的环境变量列表 int main(int argc , char *argv[] , char ...

  9. 在linux中配置环境变量

    JDK下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 根据Linux ...

  10. 第二十一篇 Linux中的环境变量简单介绍

        环境变量之   PATH 定义解释器搜索用户执行命令的路径 获取PATH变量的值: echo $PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/us ...

随机推荐

  1. 优秀的 Modbus 主站(主机、客户端)仿真器、串口调试工具

    目录 优秀的 Modbus 主站(主机.客户端)仿真器.串口调试工具 主要功能 软件截图 优秀的 Modbus 主站(主机.客户端)仿真器.串口调试工具 modbus master,modbus,串口 ...

  2. K8s应用---配置管理中心configmap和Secret(13)

    一.Configmap概述 1.1 什么是configmap Configmap 是 k8s 中的资源对象,用于保存非机密性的配置的,数据可以用 key/value 键值对的形式保存,也可通过文件的形 ...

  3. C++ 构造函数和析构函数(Constructors & Destructors)

    一.定义: 当object产生,有一个特殊的称为constructor的函数会自动执行.当object死亡,有一个特殊的称为destructor的函数会自动执行.Constructor 可以不只一个, ...

  4. kube-proxy 流量流转方式

    简介 kube-proxy 是 Kubernetes 集群中负责服务发现和负载均衡的组件之一.它是一个网络代理,运行在每个节点上, 用于 service 资源的负载均衡.它有两种模式:iptables ...

  5. 报错:Client does not support authentication protocol requested by server; consider upgrading MySQL cli

    IDEA启动项目登录时显示用户或密码错误 或者 连接mysql数据库时报错 原因: mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是ca ...

  6. Mac远程控制工具有哪些

    适用于Mac的远程控制工具有很多,这里我们给大家列举五个常用软件. 1.Apple Remote Desktop 苹果自带远程桌面正如其名称所承诺的那样.作为 Apple 出品的应用程序,您可以想象它 ...

  7. 欧洲对 Splashtop 远程计算机实验室的需求增长十倍

    ​2021 年 1 月 7 日,加利福尼亚州圣何塞 - 远程访问和远程支持解决方案的全球领导者 Splashtop Inc. 报告称其对用于教育的远程实验室访问软件的需求在欧洲激增,在 2020 年第 ...

  8. 给公众号接入`FastWiki`智能AI知识库,让您的公众号加入智能行列

    最近由于公众号用户太多,我就在思考有啥方式能给微信公众号的粉丝提供更多的更好的服务?这个时候我就想是否可以给公众号接入一下AI?让用户跟微信公众号对话,然后还能回到用户的问题,并且我提供一些资料让AI ...

  9. 促双碳|AIRIOT智慧能源管理解决方案

      随着"双碳"政策和落地的推进,各行业企业围绕实现碳达峰和碳中和为目标,逐步开展智能化能源管理工作,通过能源数据统计.分析.核算.监测.能耗设备管理.碳资产管理等多种手段,对能源 ...

  10. mysql命令最新

    查看授权 mysql> select user,host from mysql.user; +--------+------------+ | user | host | +--------+- ...