printenv - print all or part of environment
显示所有变量:print
print <variable name>
或者 echo $<variable name>
env --- 显示/设置当前用户变量
用户变量存在于所有的shell中,与用什么shell无关,比如:HOME,SHELL等。
set --- 显示/设置当前shell变量(包含用户变量)
不同的shell有着不同的私有变量,在shell中也可以临时定义私有变量。
unset命令可以用来清除set/env/export设置的变量。 readonly命令可以将变量设置成为unset命令无法清除的“只读”变量。export --- 设置当前终端有效的临时变量
显示/设置当前导出成用户变量的shell变量。
终端关闭的同时,export的变量也失效。永久用户变量
如果想设置永久的用户变量,需要编辑变量配置文件,并执行source命令使之立即生效。
对单一用户生效(永久的)~/.bash_profile #---登录时被读取,其中包含的命令被执行~/.bashrc #---启动新的shell时被读取,其中包含的命令被执行~/.bash_logout #---退出登录时被读取,其中包含的命令被执行
对所有用户生效(永久的)
/etc/profile
Note
以~/.bashrc
文件为例,这里的“永久变量”含义是说:变量被定义在~/.bashrc文件中,不会因为系统重启或掉电而消失。 启动新的shell时,定义在~/.bashrc文件中的变量被读取,成为这个shell的临时环境变量, 这些变量可以被unset, 但不会影响其他shell。 因为不同shell的临时环境变量是彼此独立的。