env命令

env命令用于显示环境变量或设置临时环境变量,部分系统是setenv

  • set命令显示当前shell的变量,包括当前用户的变量.
  • export命令显示当前导出成用户变量的shell变量

语法

env [选项]... [-] [名称=值]... [命令 [参数]...]

选项

-, -i, --ignore-environment
	忽略环境变量
-0, --null
	输出环境变量时以空字符(NUL)替代换行符
-u, --unset=NAME
	从当前环境中删除指定的变量
--help
    显示帮助并退出 
--version
    输出版本信息并退出 

实例

不带任何参数选项env将显示所有环境变量

$ env

XDG_SESSION_ID=156473
HOSTNAME=test96
TERM=xterm
SHELL=/bin/bash
HISTSIZE=4096
SSH_CLIENT=10.16.7.179 61674 22
SSH_TTY=/dev/pts/1
USER=oper
...
PATH=/opt/apache-maven-3.6.3/bin:/usr/local/mongodb/bin:/usr/local/node/bin:/usr/local/jdk1.8/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oper/.dotnet/tools:/home/oper/.local/bin:/home/oper/bin
PWD=/home/oper
JAVA_HOME=/usr/local/jdk1.8
LANG=zh_CN.UTF-8
HISTCONTROL=ignoredups
SHLVL=1
HOME=/home/oper
LOGNAME=oper
CLASSPATH=.:/usr/local/jdk1.8/lib/tools.jar:/usr/local/jdk1.8/lib/dt.jar
...

env命令可以设置临时环境变量,并在执行指定命令时将其传递给该命令。这对于在不同环境中运行程序或在较大的脚本非常有用

# env myenv="temp dir" echo $myenv