Shell命令提示符及颜色

root@localhost ~ # echo $PS1   //该条指令的PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。//输出结果PS1='[\u@\h \W]$'123

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

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时,提示符为:# ,普通用户则为:$

https://blog.csdn.net/weixin_42867972/article/details/81700469
http://www.cnblogs.com/Dreamer-qiao/p/7617344.html   Linux修改Shell命令提示符及颜色

# 设置命令提示符
PS1="\[\e[33;1m\][\[\e[32m\]\u\[\e[33m\]@\h \[\e[36m\]\W\[\e[33m\]]\[\e[32m\]\\$\[\e[0m\] "
PS1中设置字符颜色的格式为:\[\e[F;Bm\],其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47。用 \e[m 结束颜色设置  注意: 若是PS1不使用\[和\]不会报错,但在终端中输入长命令产生换行时会出现‘后面的输入把前面的输入覆盖’的问题 
F       B
30    40    黑色
31    41    红色
32    42    绿色
33    43    黄色
34    44    蓝色
35    45    紫红色
36    46    青蓝色
37    47    白色

其中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时,提示符为:# ,普通用户则为:$

最后面控制符选项说明:

\e[0m 关闭所有属性
\e[1m 设置高亮度
\e[4m 下划线
\e[5m 闪烁
\e[7m 反显
\e[8m 消隐
\e[30m — \e[37m 设置前景色
\e[40m — \e[47m 设置背景色
\e[nA 光标上移n行
\e[nB 光标下移n行
\e[nC 光标右移n行
\e[nD 光标左移n行
\e[y;xH设置光标位置
\e[2J 清屏
\e[K 清除从光标到行尾的内容
\e[s 保存光标位置
\e[u 恢复光标位置
\e[?25l 隐藏光标
\e[?25h 显示光标

# 通过下面的命令可以获得帮助

man console_codes

(0)

相关推荐