bash变量设置-PS1 PS2 PS3 PS4界面提示符-PS4变量显示行号
在 Shell 脚本中查看当前执行的行号,可以使用 PS4 变量来输出调试信息。以下是一些常用的方法来查看和显示脚本执行的行号:
方法 1:使用 PS4 和 set -x
设置 PS4 变量包含行号信息。
使用 set -x 开启调试模式,执行脚本时会打印出每一行的执行信息。
示例脚本如下:
#!/bin/bash
# 设置 PS4 显示行号,$LINENO 表示当前行号
export PS4='+${LINENO}: '
# 开启调试模式
set -x
# 示例脚本内容
echo "Line 1"
echo "Line 2"
echo "Line 3"
# 关闭调试模式
set +x
运行此脚本时,每行前面都会显示当前的行号。例如:
plaintext
+1: echo "Line 1"
Line 1
+2: echo "Line 2"
Line 2
+3: echo "Line 3"
Line 3
#############
在 Shell 中,PS1 到 PS4 是用于自定义各种提示符的环境变量。它们主要控制不同的 Shell 提示符样式,以下是它们的作用及配置方式:
- PS1 — 主提示符
PS1 是 Bash 中最常用的提示符变量,用于设置终端的主提示符。在每次输入命令时会显示 PS1 中的内容。默认情况下,它通常包含用户名、主机名和当前目录等信息。
常见的 PS1 变量设置:
export PS1="\u@\h:\w$ " # 显示用户、主机和当前路径
\u 表示用户名
\h 表示主机名
\w 表示当前路径
$ 表示普通用户 (# 则表示超级用户)
示例:
user@hostname:/home/user$
- PS2 — 续行提示符
PS2 是用于多行命令输入时的提示符。比如输入一行未结束的命令时,换行后的提示符会显示 PS2 的内容,帮助用户确认这是同一条未完成的命令。
常见的 PS2 设置:
export PS2="> "
默认是 > ,比如:
$ echo "This is a \
> continued line."
3. PS3 — select 命令的提示符
PS3 用于 select 命令的提示符,select 命令用于创建简单的菜单,在显示选项等待用户选择时,提示符会显示 PS3 的内容。
示例:
PS3="Please choose an option: "
select option in "Option 1" "Option 2" "Option 3"
do
echo "You selected $option"
break
done
在执行此代码时,用户会看到提示 Please choose an option: ,然后选择选项。
- PS4 — 调试提示符
PS4 用于调试模式下(set -x)的提示符,显示每一行命令执行的详细信息。通常用于显示当前脚本的行号、文件名等,帮助调试脚本。
常见的 PS4 设置:
export PS4='+${LINENO}: ' # 显示当前行号
使用 set -x 开启调试模式后,每行命令前会显示 PS4 的内容,比如:
+10: echo "Hello World"
Hello World
总结
变量 作用 示例值
PS1 主提示符,显示在每次输入命令行时 \u@\h:\w$
PS2 续行提示符,用于多行命令 >
PS3 select 命令的提示符,等待用户输入选择项 Please choose an option:
PS4 调试提示符,显示在 set -x 调试模式中 +${LINENO}:
本文来自博客园,作者:ThreeFlower,转载请注明原文链接:https://www.cnblogs.com/huangjinbang1996/p/18617590
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」