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

2021-06-21 22:08:20 字數 807 閱讀 7521



今天在學習使用者切換的時候,用到到這些變數,就深入學習了一下,下面是在網上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自己的變數指的是自定義變數(相當於區域性變數)

Linux的set,env和export的區別

set 顯示當前shell的變數,包括當前使用者的變數 env 顯示當前使用者的變數 export 顯示當前匯出成使用者變數的shell變數 每個shell有自己特有的變數 set 顯示的變數,這個和使用者變數是不同的,當前使用者變數和你用什麼shell無關,不管你用什麼shell都在,比 如hom...

環境變數setenv函式和export命令的解釋

指在作業系統中用來指定作業系統執行環境的一些引數。環境變數通常具有特殊用途,在系統中具有全域性特性。環境變數通常具有全域性屬性,可以被子程序繼承下去。1 path 指定命令的搜尋路徑 2 home 指定使用者的主工作目錄 即使用者登入到linux系統中時,預設的目錄 3 histsize 指儲存歷史...

set和setenv的區別

這裡討論的是tcsh中變數及環境變數時set和setenv命令的區別 set語法set name value setenv語法setenv name value 最大的區別是,set變數只對當前程序有效,不會傳遞給子程序 setenv變數不僅對當前程序有效,而且會傳遞給子程序 而當同時使用set和s...