Linux:列出所有环境变量命令

时间:2020-01-09 10:41:44  来源:igfitidea点击:

如何在RHEL/Debian/Ubuntu/CentOS/Fedora/Mint Linux操作系统上使用bash shell显示所有环境变量?
您可以使用以下任一命令来显示环境变量及其值。

a)printenv命令打印全部或部分环境。

b)env命令打印所有导出的环境或在修改后的环境中运行程序。

c)set命令打印每个shell变量的名称和值。

例子

我建议您使用printenv命令:

查看Linux bash终端中所有当前定义的环境变量的列表

printenv

或者

printenv | less

或者

printenv | more

Linux中常用变量的列表

系统变量含义查看变量值类型
BASH_VERSION持有此bash实例的版本。echo $BASH_VERSION
HOSTNAME您的计算机的名称。echo $HOSTNAME
CDPATHcd命令的搜索路径。echo $CDPATH
HISTFILE保存命令历史记录的文件的名称。echo $HISTFILE
HISTFILESIZE历史文件中包含的最大行数。echo $HISTFILESIZE
HISTSIZE要在命令历史记录中记住的命令数。默认值为500。echo $HISTSIZE
HOME当前用户的主目录。echo $HOME
IFS内部字段分隔符,用于在扩展后进行单词拆分,并使用read Builtin命令将行拆分为单词。默认值为<space> <tab> <newline>。echo $IFS
LANG用于确定未特别选择的,以LC_开头的变量的任何类别的语言环境类别。echo $LANG
PATH命令的搜索路径。这是shell程序其中查找命令的目录的冒号分隔列表。
PS1您的提示设置。echo $PS1
TMOUT读取内置命令的默认超时。同样在交互式shell中,该值解释为发出命令后等待输入的秒数。如果未提供输入,它将注销用户。echo $TMOUT
TERM您的登录终端类型。echo $TERMexport TERM = vt100
SHELL设置登录shell的路径。echo $SHELL
DISPLAY设置X显示名称echo $DISPLAYexport DISPLAY =:0.1
EDITOR设置默认文本编辑器的名称。export EDITOR =/usr/bin/vim

设置和环境命令

您也可以使用env/set命令:

env
env | more
set 
set | more

输出示例:

HOME=/home/Hyman
Hyman@nas01:~$ env
TERM=xterm-256color
SHELL=/bin/bash
XDG_SESSION_COOKIE=9ee90112ba2cb349f07bfe2f00002e46-1381581541.324726-906214463
SSH_CLIENT=192.168.1.6 60190 22
SSH_TTY=/dev/pts/1
USER=Hyman
MAIL=/var/mail/Hyman
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
PWD=/home/Hyman
LANG=en_IN
SHLVL=1
HOME=/home/Hyman
LANGUAGE=en_IN:en
LOGNAME=Hyman
SSH_CONNECTION=192.168.1.6 60190 192.168.1.10 22
_=/usr/bin/env

关于env/set命令的注释

env将仅显示已导出的环境变量列表,并且不会显示所有bash变量。
使用set命令可以更改shell选项的值并设置位置参数,或显示shell变量的名称和值。
如果未提供任何选项或参数,则set将显示所有shell变量和函数的名称和值,这些变量和函数将根据当前语言环境进行排序,其格式可以重新用作设置或重置当前设置的变量的输入。
因此,我建议您使用printenv命令在屏幕上转储所有shell变量的列表。
要将所有shell环境变量的列表保存到文件中,请执行:

printenv > env.txt
cat env.txt

使用grep命令搜索特定变量:

printenv | grep foo
printenv | grep HOME