目录
前言
一、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