linux下PS1命令提示符

时间:2022-02-02 05:48:27

PS1

PS1就是用来设置命令提示符的环境变量
以下是PS1中可以使用的转义字符

    \d :代表日期,格式为weekday month date,例如:"Mon Aug 1"
    \H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
    \h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
    \t :显示时间为24小时格式,如:HH:MM:SS
    \T :显示时间为12小时格式
    \A :显示时间为24小时格式:HH:MM
    \u :当前用户的账号名称
    \v :BASH的版本信息
    \w :完整的工作目录名称。家目录会以 ~代替
    \W :利用basename取得工作目录名称,所以只会列出最后一个目录
    \# :下达的第几个命令
    \$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$

PS1中设置字符序列颜色的格式是\[\e[F;Bm\],对应的取消颜色设置为\[\e[m\]
其中“F”为字体颜色编号,编号为30~37,“B”位背景颜色编号,编号为40~47

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

代码          意义
0            OFF
1            高亮显示
4            underline            
7            反白显示
8            不可见

来看一个例子:
linux下PS1命令提示符
\[\e[31m\]表示设置后面的字符串序列颜色为红色
\u表示当前用户的账号名
\H表示主机名
\[\e[m\]表示撤销之前设置的字符串序列的颜色

注:有些嵌入式的主机可能并不支持如上的转义字符或者颜色的设置,但是ubuntu等系统一般都是支持的


PS2

一个非常长的命令可以通过在末尾加“\”使其分行显示。多行命令的默认提示符是“>”。 我们可以通过修改PS2 ,将提示符修改为”continue->” 。


PS3

Shell脚本中使用select时的提示符


PS4

set -x”用来修改跟踪输出的前缀