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 提示符样式,以下是它们的作用及配置方式:

  1. PS1 — 主提示符

PS1 是 Bash 中最常用的提示符变量,用于设置终端的主提示符。在每次输入命令时会显示 PS1 中的内容。默认情况下,它通常包含用户名、主机名和当前目录等信息。

常见的 PS1 变量设置:


export PS1="\u@\h:\w$ "  # 显示用户、主机和当前路径

    \u 表示用户名
    \h 表示主机名
    \w 表示当前路径
    $ 表示普通用户 (# 则表示超级用户)

示例:

user@hostname:/home/user$
  1. 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: ,然后选择选项。

  1. 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}:

posted @   ThreeFlower  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示