📅  最后修改于: 2023-12-03 15:13:37.423000             🧑  作者: Mango
在 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 脚本中的问题时找到有用的信息。