📜  bash 如何列出所有变量 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:13:37.423000             🧑  作者: Mango

Bash 如何列出所有变量

在 Bash 中,变量是被称为 shell 变量的名称、字符串或数字值。有时候,您可能需要列出 Bash 中的所有变量。本文将介绍如何列出 Bash 中的所有变量。

列出所有变量

要列出 Bash 中的所有变量,可以使用 set 命令。 set 命令用于设置 shell 特性。运行 set 命令将列出所有变量和环境变量,如下所示:

set

此命令将输出以下信息:

BASH=/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="4" [1]="3" [2]="48" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
BASH_VERSION='4.3.48(1)-release'
DIRSTACK=()
EUID=1000
...

每个变量都是以 变量名=值 的格式列出的。

仅列出用户定义的变量

如果你只想列出用户定义的变量,即不包括环境变量和 Bash 特殊变量,则使用以下命令:

set | grep -v "BASH\|DIRSTACK\|EUID\|PPID\|SHELLOPTS\|UID"

此命令将输出以下信息(不包括变量名称):

/bin/bash

此命令使用 grep 命令过滤掉了 Bash 特殊变量和环境变量。如果您不想排除任何变量,则可以使用以下命令:

(set -o posix; set)

此命令将忽略 Bash 特殊变量和环境变量,并列出用户定义的变量。

现在,您已经知道如何列出 Bash 中的所有变量以及如何仅列出用户定义的变量。这些命令将有助于您在调试和排查 Bash 脚本中的问题时找到有用的信息。