如何在 RHEL / Debian / Ubuntu / CentOS / Fedora / Mint Linux 操作系统上使用 bash shell 显示所有环境变量?你能告诉我列出所有 shell 环境变量的 Linux 命令吗?
您可以使用以下任一命令来显示并列出 shell 环境变量及其值。printenv 命令列出指定环境变量的值。如果没有给出 VARIABLE,则打印所有变量的名称和值对。
- printenv命令 – 打印全部或部分环境。
- env命令 – 显示所有导出的环境或在修改的环境中运行程序。
- set命令 – 列出每个 shell 变量的名称和值。
教程详情 | |
---|---|
难度级别 | 简单的 |
根权限 | 不 |
要求 | Linux 或 Unix |
美东时间。阅读时间 | 4分钟 |
Linux 列出所有环境变量命令
我建议您使用 printenv 命令。语法是:
打印环境 打印环境| 少 printenv | 更多的
![](https://www.alaica.com/wp-content/uploads/linux-77.png)
图 01:在 Linux bash 终端中查看当前定义的所有环境变量列表的命令
Linux中常用变量列表
我们使用 printf 命令/echo 命令来显示 Linux 中 shell 变量的值。
系统变量 | 意义 | 查看变量值类型 |
---|---|---|
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 内置命令将行拆分为字。默认值为<空格><制表符><换行>。 | echo $IFS |
LANG | 用于确定未使用以 LC_ 开头的变量专门选择的任何类别的语言环境类别。 | echo $LANG |
PATH | 命令的搜索路径。它是一个以冒号分隔的目录列表,shell 在其中查找命令。 | echo $PATH |
PS1 | 您的提示设置。 | echo $PS1 |
TMOUT | 读取内置命令的默认超时。同样在交互式 shell 中,该值被解释为发出命令后等待输入的秒数。如果不提供输入,它将注销用户。 | echo $TMOUT |
TERM | 您的登录终端类型。 | echo $TERM export TERM=vt100 |
SHELL | 设置登录 shell 的路径。 | echo $SHELL |
DISPLAY | 设置 X 显示名称 | echo $DISPLAY export DISPLAY=:0.1 |
EDITOR | 设置默认文本编辑器的名称。 | export EDITOR=/usr/bin/vim |
set 和 env 命令
您也可以使用 env / set 命令:
环境 环境 | 更多 套装 | 更多的
输出示例:
HOME=/home/维维克 vivek@nas01:~$ 环境 术语=xterm-256color 外壳=/bin/bash XDG_SESSION_COOKIE=9ee90112ba2cb349f07bfe2f00002e46-1381581541.324726-906214463 SSH_CLIENT=192.168.1.6 60190 22 SSH_TTY=/dev/pts/1 用户=维维克 邮件=/var/mail/vivek PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games PWD=/home/vivek LANG=en_IN SLVL=1 HOME=/home/维维克 LANGUAGE=en_IN:en 日志名称=vivek 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 命令搜索特定变量:
打印环境| grep foo 打印环境| 查找主页
结论
您了解了如何列出所有 Linux shell 环境变量。请参阅以下资源以获取更多信息:
- 来自 Linux shell 脚本 wiki 的 Bash shell 变量。
- 使用 man 命令或 help 命令查看以下手册页:
man 'printenv(1)'
man 1 bash
man 1 env