命令行提示符修改(环境变量PS1)

2019-07-13 00:49发布

命令行输入:vi ~/.bashrc 进入修改环境个性化设置文件bashrc
shift + g 到文件末尾加入一行内容:export PS1='[u@h w]$: ' 如现在在用的(提示符变黄): export PS1='e[33;1m[w]e[0m$: '
具体环境变量PS1中的属性下文中有显示,设置完毕后保存退出。
命令行输入:source ~/.bashrc 执行刚修改的初始化文件,使之立即生效


1. 设置ps1变脸的显示     PS1(是数字1而不是字母l),每个版本bash的PS1变量内的特殊符号可能有些小的差异,你可以先man bash 一下。下面是FC4环境下默认的特殊符号所代表的意义:     d :代表日期,格式为weekday month date,例如:"Mon Aug 1"     H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux     h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略      :显示时间为24小时格式,如:HH:MM:SS     T :显示时间为12小时格式     A :显示时间为24小时格式:HH:MM     u :当前用户的账号名称     v :BASH的版本信息     w :完整的工作目录名称。家目录会以 ~代替     W :利用basename取得工作目录名称,所以只会列出最后一个目录     # :下达的第几个命令     $ :提示字符,如果是root时,提示符为:# ,普通用户则为:$     默认的PS1内容为: PS1='[u@h W]$ ' ,所以默认的提示符就是: [root@linux ~]#。
2. 设置ps1变量的颜 {MOD}      我们能够通过配置PS1变量使提示符成为彩 {MOD}。在PS1中配置字符序列颜 {MOD}的格式为:       [e[F;Bm]       基本上是夹在 "e["(转义开方括号)和 "m" 之间数字值。假如指定一个以上的数字代码,则用分号将他们分开。          其中 F 为字体颜 {MOD},编号30~37; B 为背景 {MOD},编号40~47。       可通过 e[0m 关闭颜 {MOD}输出;特别的,当B为1时,将显示加亮加粗的文字,请看下面的颜 {MOD}表和代码表。       颜 {MOD}表       前景 背景 颜 {MOD}     ---------------------------------------     30 40 黑 {MOD}     31 41 红 {MOD}     32 42 绿 {MOD}     33 43 黄 {MOD}     34 44 蓝 {MOD}     35 45 紫 {MOD}     36 46 青 {MOD}     37 47 白 {MOD}       代码 意义     -------------------------     0 OFF     1 高亮显示     4 underline     5 闪烁     7 反白显示     8 不可见       假如想要配置终端提示符的样式只要把$PS1在~/.bahrc指定即可   "e[0m"  假如将数字代码指定为零,则他就会通知终端将前景、背景和加粗配置重置为他们的默认值。您可能会在在提示行结束时使用这个代码,以使您键入的文字成为非彩 {MOD}的。现在,让我们看一下这些颜 {MOD}代码。请注意下面的抓屏结果:    要使用这个表,首先请查找您要使用的颜 {MOD},然后查找对应的前景编号 (30-37) 和背景编号 (40-47)。例如,假如您喜欢黑底绿字,则可将编号分别设为 32 和 40。然后打开您的提示行定义并在其中添加适当的颜 {MOD}代码。下面的定义:    export PS1="w> "    变为:    export PS1="e[32;40mw> "    到现在为止,提示行尽管已很不错了,但仍不太完美。在 bash 显示出工作目录以后,我们需要使用 "e[0m" 序列将颜 {MOD}重新配置为正常值。    export PS1="e[32;40mw> e[0m"    这个定义将显示一个漂亮的绿 {MOD}提示行,但我们仍需要做一些扫尾工作。我们无需包括 "40" 这个背景颜 {MOD}配置,因为他将背景配置为黑 {MOD},而黑 {MOD}是默认颜 {MOD}。此外,绿 {MOD}还很暗;我们通过添加一个 "1" 颜 {MOD}代码来修正这个问题,这将启用更亮的加粗文字。除了这个修改之外,我们还需要将全部非打印字符用专用的 bash 转义序列 "[" 和 "]" 括起来。这两个序列通知 bash,被括起来的字符不占用行上的任何空间,这样就使自动换行能够继续正常工作。没有这两个转义序列,尽管您有了一个很漂亮的提示行,但是假如您键入的命令恰好到达终端的最右端,就会造成显示混乱。