set,env和export這三個命令的區別



原文地址:http://www.opsers.org/linux-home/base/set-env-and-export-the-difference-between-the-three-command.html

 

今天在學習用戶切換的時候,用到到這些變量,就深入學習了一下,下面是在網上GOOGLE到的資料,保留下來,供自己再次學習!
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 “導出”變成一個用戶變量。

注:它上面說的用戶變量,就是指環境變量(相當於全局變量),shell自己的變量指的是自定義變量(相當於局部變量)

發佈了14 篇原創文章 · 獲贊 6 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章