linux下shell提示符可以任意配置的。
首先看看bash的配置文件,一般在用户的HOME目录下有这样几个文件1:
- .bash_history :记录了您以前输入的命令,
- .bash_logout :当您退出 shell 时,要执行的命令,
- .bash_profile :当您登入 shell 时,要执行的命令,
- .bashrc :每次打开新的 shell 时,要执行的命令。
这些文件是每一位用户的设置。系统级的设置存储在’/etc/profile’、‘/etc/bashrc’及目录’/etc/profile.d’下的文件中。但您得习惯用各自的配置文件:编辑不需要’root’权限,还可以使您的设置更有个性。当系统级与用户级的设置发生冲突时,将采用用户的设置。
每次当您打开一个控制台(console)或 xterm 时,最先看到的就是提示符(prompt),类似于:
1 | account@hostname ~ $ |
在默认设置下,提示符将显示您的用户名、主机名(默认是’localhost’)、当前所在目录(在Unix中,‘~’表示您的home目录)。 按照传统,最后一个字符可以标识您是普通用户($
),还是’root’(#
)。 您可以通过 $PS1
, $PS2
变量来设置提示符,$PS2
是当在多行内输入一个命令时,换行后,出现的提示符。命令
1 | andrew@ubuntu:~/lhj-github/tech$ echo $PS1 |
将显示当前的设定。其中可用字符的含义在 man bash 的’PROMPTING’部分有说明,PROMPTING部分的翻译
1 | 提示符(PROMPTING) |
例如一个默认的$PS1
设置如下:
1 | andrew@ubuntu:~/lhj-github/tech$ echo $PS1 |
|— | 前景 | 背景 | 颜色 | | - | - | - | |30 | 40 | 黑色 |31 | 41 | 紅色 |32 | 42 | 綠色 |33 | 43 | 黃色 |34 | 44 | 藍色 |35 | 45 | 紫紅色 |36 | 46 | 青藍色 |37 | 47 | 白色 {: .mytable}
|— | 代码 | 意义 | - | - | |0 | OFF |1 | 高亮显示 |4 | underline |5 | 闪烁 |7 | 反白显示 |8 | 不可见 {: .mytable}
然后就可以设置prompting的颜色了,最简单的方法是在HOME目录下的.bashrc文件添加以下配置(这种方法只会影响当前用户), 例如我现在的设置为
1 | export PS1="\w\e[32m\$ \e[0m" |
前面部分\e[32m
是设置提示符的颜色,后面的\e[0m
是恢复后面命令行输入输出的颜色,如果不用这个的话,所有的输入输出都会受到影响。
当然也可以配置一个多个属性的,只需要用分号隔开就可以了,这是一个例子:
1 | export PS1="\w\e[32;40;4;1;7m\$ \e[0m" |
我使用的是ubuntu server 64 12.04,shell用的是bash,在配置的过过程中,唯独只有闪烁功能好像没有起作用,如果有朋友解决了这个问题麻烦给我说一下。
在学习这个的过程中,我还找到了一篇关于提示符配置的不错的博文,大家也可以阅读一下。
python 输出有颜色的字符
也可以使用python输出有颜色的字符,下面是例子代码
1 | print '\033[43;32m{0}\033[0m'.format("yellow background, green font") |