首页 > 系统 > Linux >

linux 下PS1自定义提示符

2017-07-19

linux 下PS1自定义提示符。PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数。

PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数。

查看PS1

set | grep PS1

#可得到当前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]\$ '

的意思就是:[当前用户的账号名称@主机名的第一个名字 工作目录的最后一层目录名]#

颜色参数

F B 颜色
30 40 黑色
31 41 红色
32 42 绿色
33 43 黄色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 白色

只需将对应数字套入设置格式中即可。
比如要设置命令行的格式为绿字黑底([\e[32;40m]),显示当前用户的账号名称(\u)、主机的第一个名字(\h)、完整的当前工作目录名称(\w)、24小时格式时间(\t),可以直接在命令行键入如下命令:

PS1='[\[\e[32;40m\]\u@\h \w \t]$'

经过多次测试后,最终确定了一个适合我自己的格式:

PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ "
相关文章
最新文章
热点推荐