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 |
CDPATH | cd命令的搜索路径。 | 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