在Linux操作系统中,env命令用于显示当前用户的环境变量,并能够在自定义环境中执行指定的命令。它是管理和调试环境变量的重要工具。通过使用env,用户可以查看、设置或删除环境变量,而不影响当前的shell环境
命令格式
env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]
常用选项
-i, --ignore-environment:启动一个新的空环境执行命令,不继承当前的任何环境变量。-0: 将输出的环境变量以 null 字符 (ASCII 0) 结束,而不是换行符,通常用于与其他工具(如 xargs)配合。-u, --unset=NAME:从当前环境中删除指定的环境变量。--help:显示帮助信息并退出。--version:输出版本信息并退出。示例
实例一:
env
不带任何参数时,它会列出当前的所有环境变量及其值。
XDG_SESSION_ID=178741
HOSTNAME=VM-4-10-centos
TERM=xterm
SHELL=/bin/bash
HISTSIZE=3000
SSH_CLIENT=101.90.156.231 25514 22
SSH_TTY=/dev/pts/2
USER=root
LS_COLORS=...省略...
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/root
LANG=en_US.utf8
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=101.90.156.231 25514 10.0.4.10 22
LESSOPEN=||/usr/bin/lesspipe.sh %s
PROMPT_COMMAND=history -a; history -a; printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"
XDG_RUNTIME_DIR=/run/user/0
HISTTIMEFORMAT=%F %T
_=/usr/bin/env
实例二:
env -i bash
在一个没有任何环境变量的空环境中启动一个新的 Bash shell。
实例三:
env -0 | xargs -0 echo
这将以 null 字符为分隔符,输出环境变量。