shell PS变量

PS1变量

PS1变量用来定义命令行提示符,可以按照我们自己的需求来定义自己喜欢的提示符。

PS1支持以下选项:
\d:显示曰期,格式为"星期 月 日"。
\H:显示完整的主机名。如默认主机名"localhost.localdomain"。
\h:显示简写的主机名。如默认主机名"localhost"。
\t:显示 24 小时制时间,格式为"HH:MM:SS"。
\T:显示 12 小时制时间,格式为"HH:MM:SS"。
\A:显示 24 小时制时间,格式为"HH:MM"。
@:显示 12 小时制时间,格式为"HH:MM am/pm"。
\u:显示当前用户名。
\v:显示 Bash 的版本信息。
\w:显示当前所在目录的完整名称。
\W:显示当前所在目录的最后一个目录。
#:执行的第几条命令。
$:提示符。如果是 root 用户,则会显示提示符为"#";如果是普通用户,则会显示提示符为"$"。

笔者的PS1变量默认为简写的主机名:当前所在目录的最后一个目录 当前用户名$
在这里插入图片描述
当然,可以根据自己的喜好修改,如
在这里插入图片描述
⚠️
1)PS1变量的值要用单引号包含,否则设置不生效;
2)PS1变量的修改是临时生效的,一旦重启终端或系统就会消失,要想永久生效,必须写入环境变量配置文件,即在.bashrc文件中添加PS1变量的设置,然后执行source .bashrc就可以生效。

PS2变量

PS2变量是一个非常长的命令可以通过在末尾加“\”使其分行显示后的多行命令的默认提示符,默认值为">"
在这里插入图片描述

PS3变量

PS3 变量是命令select后选择时出现的选择提示符,默认是没有定义的空字符。

#!/bin/bash
#case select test
PS3="select install menu:"
echo $PS3

select i in "apache" "mysql" "php" "quit"
do
	case $i in
		apache)
		echo "wait install httpd server..."
		;;
		mysql)
		echo "wait install mysql server..."
		;;
		php)
		echo "wait install php server..."
		;;
		quit)
		break
		;;
		*)
		echo "usage: {$0 apache|mysql|php|help}"
		;;
	esac
done

shell PS变量_第1张图片

PS4变量

PS4变量是set -x命令用来修改跟踪输出的前缀,默认值为"+"
在这里插入图片描述

你可能感兴趣的:(shell学习)