当前位置: 澳门新濠3559 > 操作系统 > 正文

可以使用修改PS1环境变量的方式澳门新濠3559:

时间:2019-12-26 00:20来源:操作系统
1. Linux登录过程中加载配置文件顺序: 要想修改终端的颜色,可以使用修改PS1环境变量的方式,也可以通过命令setterm来进行设置。 /etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bas

1. Linux登录过程中加载配置文件顺序:

要想修改终端的颜色,可以使用修改PS1环境变量的方式,也可以通过命令setterm来进行设置。

/etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/bashrc]
可查看默认的~/.bashrc文件如下:

一、PS1

1 [root@localhost ~]$ cat ~/.bashrc 
2 # .bashrc
3 
4 # User specific aliases and functions
5 
6 # Source global definitions
7 if [ -f /etc/bashrc ]; then
8     . /etc/bashrc
9 fi

1.PS1

2. Shell命令提示符及颜色是由PS1来配置:

要修改linux终端命令行颜色,我们需要用到PS1,PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。在终端输入命令:#set,即可在输出中找到关于PS1的定义如下:

1 [root@localhost ~]$ echo $PS1
2 [e[32;40m][u@h W]$e[m

PS1='[u@h W]$ '

其中PS1常用的参数含义如下:

PS1的定义中个常用的参数的含义如下:

d :#代表日期,格式为weekday month date,例如:"Mon Aug 1"
H :#完整的主机名称
h :#仅取主机的第一个名字
t :#显示时间为24小时格式,如:HH:MM:SS
T :#显示时间为12小时格式
A :#显示时间为24小时格式:HH:MM
u :#当前用户的账号名称
v :#BASH的版本信息
w :#完整的工作目录名称
W :#利用basename取得工作目录名称,所以只会列出最后一个目录
# :#下达的第几个命令
$ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$

d :#代表日期,格式为weekday month date,例如:"Mon Aug 1"

3. 颜色值设置

H :#完整的主机名称

PS1中设置字符颜色的格式为:[e[F;Bm],其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47。用 e[m 结束颜色设置,颜色表如下:

h :#仅取主机的第一个名字

 

t :#显示时间为24小时格式,如:HH:MM:SS

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

T :#显示时间为12小时格式

根据颜色表,套用入字符颜色设置格式中,就可以对linux终端命令行颜色进行个性化设置了。比如要设置命令行的格式为绿字黑底,显示当前用户的账号名称、

A :#显示时间为24小时格式:HH:MM

主机的第一个名字、完整的当前工作目录名称、24小时格式时间,就可以使用如下的命令:

u :#当前用户的账号名称

# PS1='[[e[32;40m]u@h w t]$'

v :#BASH的版本信息

 

w :#完整的工作目录名称

4. 以笔者的~/.bashrc配置为例

W :#利用basename取得工作目录名称,所以只会列出最后一个目录

 1 [root@localhost ~]$ cat ~/.bashrc
 2 # .bashrc
 3 
 4 # User specific aliases and functions
 5 
 6 alias rm='rm -i'
 7 alias cp='cp -i'
 8 alias mv='mv -i'
 9 
10 PS1="[e[32;40m][u@h W]$e[m "
11 
12 # Source global definitions
13 if [ -f /etc/bashrc ]; then
14     . /etc/bashrc
15 fi

# :#下达的第几个命令

 

$ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$

5.vim或者nano下修改

由此,我们可知linux默认的命令行提示信息为:[当前用户的账号名称@主机的第一个名字 工作目录的最后一项]#

澳门新濠3559 1

2.颜色的设置

  重新加载下~/.bashrc即可生效:

在PS1中设置字符颜色的格式为:[e[F;Bm],其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47。颜色表如下:

[root@localhost ~]$ source ~/.bashrc

F B

澳门新濠3559 2

30 40 黑色

 

31 41 红色

32 42 绿色

33 43 黄色

34 44 蓝色

35 45 紫红色

36 46 青蓝色

37 47 白色

根据颜色表,套用入字符颜色设置格式中,就可以对linux终端命令行颜色进行个性化设置了。比如要设置命令行的格式为绿字黑底,显示当前用户的账号名称、主机的第一个名字、完整的当前工作目录名称、24小时格式时间,就可以使用如下的命令:

PS1='[[e[32;40m]u@h w t]$ '

3.修改.bashrc文件(也可以通过修改etcprofile文件来实现)

通过上面的设置只能改变当前终端的命令行格式,关闭这个终端,在重新打开的一个终端中命令行格式又会恢复到默认的形式。想要永久性的改变终端命令行格式,需要修改.bashrc文件。

使用命令:#cd /

ls -l -a

就能看到.bashrc这个文件。使用命令

gedit .bashrc

在.bashrc文件中加入

PS1="[[e[30;47m]u@h W t]$"

这条语句,然后保存,就可以永久性的改变终端命令行格式了。

修改完成后,一定要使用source 命令重新加载配置文件

2、通过setterm方式设置

可以通过setterm -foreground 设置前景色

setterm -background 设置背景色

但是每次都要设置比较麻烦。

为了使用方便,编写了一个shell脚本将两行命令放到termColor.sh文件中。

每次执行sh termColor.sh命令就可以修改前景色和背景色。但是每次执行了ls命令后,颜色又变成了没有设置时的样子。有些无奈了,还是用第一种方式吧。

另外,需要说明的是,每次都需要使用sh来执行脚本。使用ls -l命令查看,这个termColor文件没有可执行的权限(可执行的位置-),说明不是可执行文件。使用chmod修改其为可执行文件后,执行运行./termColor.sh就可以执行了。

编辑:操作系统 本文来源:可以使用修改PS1环境变量的方式澳门新濠3559:

关键词:

  • 上一篇:没有了
  • 下一篇:没有了