set,env和export这三个命令都可以用来显示shell变量,区别
[root@localhost root]# aaa=bbb
[root@localhost root]# echo $aaa
bbb
[root@localhost root]# set |grep aaa
aaa=bbb
[root@localhost root]# env |grep aaa
[root@localhost root]# export aaa
[root@localhost root]# env |grep aaa
aaa=bbb
set env export区别
set 显示当前shell的变量,包括当前用户的变量
env显示当前用户的变量
export: 显示当前导出成用户变量的shell变量每
个shell都有自己特有的变量,这和用户变量是不同的。当前用户变量和你用什么shell无关,不管你用什么shell都是存在的。比如
HOME,SHELL等这些变量,但shell自己的变量,不同的shell是不同的,比如BASH_ARGC,
BASH等,这些变量只有set才会显示,是bash特有的。export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变
量可以通过export “导出”变成一个用户变量。
declare -x var=abc is equivalent to the following:
export var=abc
It is a bash specific feature, not portable
======================================
对于QShell而言,
env:显示环境变量,包括系统环境变量和用户环境变量
set:显示当前shell本身所使用的一些内部变量(shell变量),如UID, GID,PS1=$等,同时也显示所有env中包含的变量
export:显示当前导出成用户环境变量的shell变量
来源:https://www.cnblogs.com/stephen-init/p/3492119.html