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 顯示當前shell的變量,包括當前用戶的變量
env 顯示當前用戶的變量
export 顯示當前導出成用戶變量的shell變量
每個shell都有自己特有的變量,這和用戶變量是不同的。當前用戶變量和你用什麼shell無關,不管你用什麼shell都是存在的。比如HOME,SHELL等這些變量,但shell自己的變量,不同的shell是不同的,比如BASH_ARGC, BASH等,這些變量只有set纔會顯示,是bash特有的。export不加參數的時候,顯示哪些變量被導出成了用戶變量,因爲一個shell自己的變量可以通過export “導出”變成一個用戶變量