使用不同的 Linux 命令列出环境变量
1. 概述
环境变量是一个动态对象,它定义了存储某些值的位置。我们可以使用环境变量来改变系统和软件的行为。环境变量在计算机编程中非常重要。它们帮助开发人员编写灵活的程序。
在 Linux 中有多种方法可以列出或显示环境变量。我们可以使用env、printenv、declare或set命令列出系统中的所有变量。
在本教程中,我们将解释如何在 Linux 中列出环境变量。
2. 使用printenv命令
printenv 命令行实用程序显示当前 shell 中环境变量的值。
我们可以在命令行上指定一个或多个变量名来只打印那些特定的变量。或者,如果我们运行不带参数的命令,它将显示当前 shell 的所有环境变量。
例如,我们可以使用printenv命令后跟HOME来显示HOME环境变量的值:
$ printenv HOME
/root
另外,我们可以通过printenv命令指定多个环境变量来显示所有指定环境变量的值:
让我们显示HOME和SHELL环境变量的值:
$ printenv HOME SHELL
/root
/bin/bash
我们可以使用不带任何参数的printenv命令查看所有环境变量的列表:
$ printenv
XDG_VTNR=7
XDG_SESSION_ID=c1
SHELL=/bin/bash
TERM=xterm
USER=root
SUDO_USER=vyom
SUDO_UID=1000
USERNAME=root
MAIL=/var/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
...
3. 使用env命令
env 是另一个 shell 命令,我们可以使用它来打印环境变量及其值的列表。同样,我们可以使用env命令在 shell 脚本中启动正确的解释器。
我们可以不带任何参数运行env命令来显示所有环境变量的列表:
$ env
XDG_VTNR=7
XDG_SESSION_ID=c1
SHELL=/bin/bash
TERM=xterm
USER=root
SUDO_USER=vyom
SUDO_UID=1000
USERNAME=root
MAIL=/var/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
...
我们可以使用grep 命令来过滤我们感兴趣的特定变量的值:
$ env | grep USERNAME
USERNAME=root
4. 使用set命令
set 是另一个用于列出每个 shell 变量的名称和值的命令行实用程序。尽管set命令还有其他用途,但我们可以在不带任何选项或参数的情况下简单地运行它来显示当前 shell 中所有 shell 变量的名称和值:
$ set
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_COMPLETION_COMPAT_DIR=/etc/bash_completion.d
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="4" [1]="3" [2]="11" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
...
5. 使用declare命令
declare 是另一个用于声明 shell 变量并显示其值的内置命令。
例如,让我们运行不带任何选项的declare命令来打印系统中所有 shell 变量的列表:
$ declare
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_COMPLETION_COMPAT_DIR=/etc/bash_completion.d
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="4" [1]="3" [2]="11" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
...
6. 使用echo命令
echo 还用于在 Linux 中显示 shell 变量的值。
例如,让我们运行echo命令来显示 $HOSTNAME 变量的值:
$ echo $HOSTNAME
ubuntupc