Linux下PS1设置
PS1命令是linux系统中的一个全局变量,用于定义用户命令行的字符显示。学名为:默认提示符。盲猜Power Shell 1。
·
PS1简介
PS1命令是linux系统中的一个全局变量,用于定义用户命令行的字符显示。学名为:默认提示符。盲猜Power Shell 1。
PS1变量
# shell查看变量值
[root@test ~]# echo $PS1
[\u@\h \W]\$
# 查看系统设置中的PS1变量值
[root@test ~]$ set | grep PS1
PS1='[\u@\h \W]$ '
可以看到该值跟终端的呈现有相同的地方,两边方括号,中间有@符号,最后有个命令行提示符$,那么这些是什么含义呢?
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用户,提示符为 # ,普通用户则为 $
所以,linux默认的命令行提示信息的格式: PS1='[\u@\h \W]$ ’ 的意思就是:[当前用户的账号名称@主机名的第一个名字 工作目录的最后一层目录名]#
关于命令行输入闪烁的问题
参数 | 说明 |
---|---|
0m | 无特殊效果 |
1m | 字体变粗 |
2m | 颜色变化,部分字体变细 |
3m | 颜色变化,部分字体倾斜 |
4m | 颜色变化,加下滑线 |
5m | 颜色变化,文字闪动 |
6m | 无 |
9m | 颜色变化,加删除线 |
8m | 黑色文字 |
最佳配置实践
先查看下网卡名,这里是 eth0,这种方式代价较小
export PS1="\[\e[34m\][\u\[\e[m\]@\h:`ifconfig eth0| sed -nr 's/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'` \[\e[33m\]\w]\[\e[m\]\$"
在PS1中设置字符序列颜色的格式为:[\e[F;Bm] 其中“F”为字体颜色,编号30- 37;“B”为背景色,编号40~47。取消设置:[\e[0m]
颜色编号:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35.青色=36,白色=37
效果演示:
这样每次登录后对当前用户和服务器IP一目了然,避免操作多台时容易迷糊。
更多推荐
已为社区贡献1条内容
所有评论(0)