转载 命令行终端颜色设置
Linux给人最大的享受就是可以根据个人喜好去定制令自己舒服的系统配置,像终端颜色的设置就是一个典型的例子。
首先我们要知道如下几张表:
前景 背景 颜色
---------------------------------------
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色
1 透明色
代码 意义
-------------------------
0 OFF
1 高亮显示
4 underline
5 闪烁
7 反白显示
8 不可见
序列说 明
\a ASCII响铃字符(也可以键入 \007)
\d "Wed Sep 06"格式的日期
\e ASCII转义字符(也可以键入 \033)
\h 主机 名的第一部分(如 "mybox")
\H 主机 的全称(如 "mybox.mydomain.com")
\j 在此 shell中通过按 ^Z挂起的进程数
\l 此 shell的终端设备名 (如 "ttyp4")
\n 换行 符
\r 回车 符
\s shell的名称(如 "bash")
\t 24小时制时间(如 "23:01:01")
\T 12小时制时间(如 "11:01:01")
\@ 带有 am/pm的 12小时制时间
\u 用户 名
\v bash的版本(如 2.04)
\V Bash版本(包括补丁级别) ?/td>;
\w 当前 工作目录(如 "/home/drobbins")
\W 当前 工作目录的“基名 (basename)”(如 "drobbins")
\! 当前 命令在历史缓冲区中的位置
\# 命令 编号(只要您键入内容,它就会在每次提示时累加)
\$ 如果 您不是超级用户 (root),则插入一个 "$";如果您是超级用户,则显示一个 "#"
\xxx 插 入一个用三位数 xxx(用零代替未使用的数字,如 "/007")表示的 ASCII 字符
\\ 反斜 杠
\[这个序列应该出现 在不移动光标的字符序列(如颜色转义序列)之前。它使 bash能够正确计算自动换行。
\] 这个序列应该出现在非打印字符序列之后。
颜色的设置公式
颜色=\033[代码;前景;背景m
如:\033[1;32;40m表示高亮显示字体为绿色,背景色为黑色(颜色定义见本文前面的表格)
要将全部非打印字符用专用的 bash 转义序列 "\["和 "\]"括起来。这两个序列通知 bash,被括起来的字符不占用行上的任何空间,这样就使自动换行能够继续正常工作。
这点很关键要不然等你设好了颜色,你的终端换行会乱七八糟
现在对上边的PS1变量进行颜色的设置,即在需要更改颜色的地方插入颜色值,比如我们让用户名以红色显示的命令应该是:
PS1=‘\[\033[1;31;40m\]\u@\h:\w\$ ‘
原文:https://www.cnblogs.com/zhile/p/8818327.html