目录
前言
一、PS1变量
1.PS1变量详解
2.PS1变量可用参数
3.彩色提示符
二、PS2变量
三、PS3变量
1.不使用PS3变量
2.使用PS3变量
四、PS4变量
前言
在Linux系统中,PS1、PS2、PS3和PS4是特定的环境变量,它们各自在控制提示符和菜单提示信息方面发挥着不同的作用,这些PS变量在Linux系统中为用户提供了灵活的方式来定制和控制命令行的外观和行为,从而提高了用户与系统的交互体验。
注意:如果要长期永久性修改提示符,可以将修改提示符的命令添加到$Home/.bashrc或$Home/.bash_profile文件中
一、PS1变量
主要用于设置Shell命令提示符。每当你在终端中输入命令时,所显示的字符串就是由PS1变量控制的。
可以根据自己的喜好和需要,自定义PS1变量的值,从而改变命令提示符的外观和格式。
其默认值为:[\u@\h \W]$,其表示:显示用户主机名称工作目录,可以在终端窗口输入

因为添加了颜色,所以显示的是设置颜色后的内容
1.PS1变量详解
| 字符 | 含义 | 
|---|---|
| \u | 当前用户 | 
| \h | 主机名 | 
| \W | 当前所在目录 | 
| $ | 代表特权用户或者普通用户,普通用户$+空格,超级用户#+空格 | 
2.PS1变量可用参数
| 参数 | 含义 | 
|---|---|
| \d | 日期,格式为weekdat month date | 
| \H | 完整的主机名称 | 
| \h | 仅取主机的第一个名字 | 
| \t | 显示时间为24小时格式,如:HH:MM:SS | 
| \T | 显示时间为12小时格式 | 
| \A | 显示时间为24小时格式:HH:MM | 
| \u | 当前用户的账号名称 | 
| \v | bash版本信息 | 
| \w | 完整的工作目录名称。家目录会以~代替 | 
| \W | 利用basename取得工作目录名称,所以只会列出最后一个目录 | 
| # | 下达的第几个命令 | 
| $ | 提示字符,如果是root,提示符为:#,普通用户则为:$ | 
| ! | 命令行动态统计历史命令次数 | 
3.彩色提示符
\[\e[F;Bm\]
| 字体代码 | 背景代码 | 颜色 | 
|---|---|---|
| 30 | 40 | 黑色 | 
| 31 | 41 | 红色 | 
| 32 | 42 | 绿色 | 
| 33 | 43 | 黄色 | 
| 34 | 44 | 蓝色 | 
| 35 | 45 | 紫红色 | 
| 36 | 46 | 青蓝色 | 
| 37 | 47 | 白色 | 
二、PS2变量
这是第二次提示符,用于交互式的Shell中一条命令多行连接时的显示信息。当你的命令行输入长度超过一行时,系统会使用PS2提示符来继续输入。这使得用户可以轻松地在多行中输入长命令,提高命令行操作的效率。
一个非常长的命令可以通过在末尾加“ \ ”使其分行显示
PS2多行命令的默认提示符,默认值是>
三、PS3变量
这个环境变量用于控制select命令创建的菜单提示信息。在Linux中,select命令允许用户从一系列选项中选择一个,而PS3变量则负责定义在选择过程中显示的提示符。通过定制PS3,可以让selec命令的菜单提示更符合需求。
1.不使用PS3变量
[root@localhost ~]#vim ps3.sh
[root@localhost ~]#cat ps3.sh 
#!/bin/bash  echo "以下是一些选项,请选择您想要的选项:"  
select option in "选项1" "选项2" "退出"; do  case $option in  "选项1")  echo "您选择了选项1"  break  ;;  "选项2")  echo "您选择了选项2"  break  ;;  "退出")  echo "退出脚本"  exit 0  ;;  *)  echo "无效的选择,请重新选择"  ;;  esac  
done
[root@localhost ~]#bash ps3.sh 
以下是一些选项,请选择您想要的选项:
1) 选项1
2) 选项2
3) 退出
#? 1
您选择了选项1
[root@localhost ~]#bash ps3.sh 
以下是一些选项,请选择您想要的选项:
1) 选项1
2) 选项2
3) 退出
#? 2
您选择了选项2
[root@localhost ~]#bash ps3.sh 
以下是一些选项,请选择您想要的选项:
1) 选项1
2) 选项2
3) 退出
#? 3
退出脚本2.使用PS3变量
[root@localhost ~]#vim ps3.sh 
[root@localhost ~]#cat ps3.sh 
#!/bin/bash  # 设置PS3变量以自定义select命令的提示  PS3="请做出选择: "  echo "以下是一些选项,请选择您想要的选项:"  
select option in "选项1" "选项2" "退出"; do  case $option in  "选项1")  echo "您选择了选项1"  break  ;;  "选项2")  echo "您选择了选项2"  break  ;;  "退出")  echo "退出脚本"  exit 0  ;;  *)  echo "无效的选择,请重新选择"  ;;  esac  
done
[root@localhost ~]#bash ps3.sh 
以下是一些选项,请选择您想要的选项:
1) 选项1
2) 选项2
3) 退出
请做出选择: 1
您选择了选项1
[root@localhost ~]#
[root@localhost ~]#bash ps3.sh 
以下是一些选项,请选择您想要的选项:
1) 选项1
2) 选项2
3) 退出
请做出选择: 2
您选择了选项2
[root@localhost ~]#bash ps3.sh 
以下是一些选项,请选择您想要的选项:
1) 选项1
2) 选项2
3) 退出
请做出选择: 3
退出脚本
四、PS4变量
set -x用来修改跟踪输出的前缀,这个变量很少用
[root@localhost etc]#cd /etc/sysconfig/network-scripts/
+ cd /etc/sysconfig/network-scripts/
++ printf '\033]0;%s@%s:%s\007' root localhost /etc/sysconfig/network-scripts