種類:
♦ set : 用來顯示本地變量,顯示當前shell的變量,包括當前用戶的變量
♦ env : 用來顯示環境變量,顯示當前用戶的變量。
♦ export: 用來顯示和設置環境變量, 顯示當前導出成用戶變量的shell變量
解釋:
♦每個shell有自己特有的變量(set)顯示的變量,這個和用戶變量是不同的,當前用戶變量和你用什么shell無關,不管你用什么shell都在,比如HOME,SHELL等這些變量,但shell自己的變量不同shell是不同的,比如BASH_ARGC, BASH等,這些變量只有set才會顯示,是bash特有的,export不加參數的時候,顯示哪些變量被導出成了用戶變量,因為一個shell自己的變量可以通過export “導出”變成一個用戶變量
實例:
[root@linux ~]# aaa=bbb
[root@linux ~]# echo $aaa
bbb [root@linux ~]# set|grep aaa
aaa=bbb [root@linux ~]# env|grep aaa
[root@linux ~]# export aaa
[root@linux ~]# env|grep aaa
aaa=bbb
那我們再來科普一下環境變量:
1.什么是環境變量:
2.為什么要使用環境變量?
3.常見的環境變量有哪些?
1.什么是環境變量?
♦ Linux是一個多用戶的操作系統。每個用戶登錄系統后,都會有一個專用的運行環境。通常每個用戶默認的環境都是相同的,這個默認環境實際上就是一組環境 變量的定義。用戶可以對自己的運行環境進行定制,其方法就是修改相應的系統環境變量。
♦ 環境變量是一個具有 特定名字的對象,它包含了一個或者多個應用程序所將使用到的信息。許多用戶(特別是那些剛接觸Linux的新手)發現這些變量有些怪異或者難以控制。其 實,這是個誤會:通過使用環境變量,你可以很容易的修改一個牽涉到一個或多個應用程序的配置信息。
2.為什么要使用環境變量?
♦在一些軟件在啟用是需要先啟動啟動文件,或者一些配置文件,這樣如果配在環境變量里面了系統就能找到這些文件並進行使用了,就相當於我告訴系統我要用的這個東西在哪放着,要用的時候系統就會默認的從這個路徑下面去取要用的東西。
3.常見的環境變量有哪些?
♦ PATH 決定了shell將到哪些目錄中尋找命令或程序
♦ HOME 當前用戶主目錄
◆ HISTSIZE是指保存歷史命令記錄的條數。
◆ LOGNAME是指當前用戶的登錄名。◆ HOSTNAME是指主機的名稱,許多應用程序如果要用到主機名的話,通常是從這個環境變量中來取得的。
◆ SHELL是指當前用戶用的是哪種Shell。
◆ LANG/LANGUGE是和語言相關的環境變量,使用多種語言的用戶可以修改此環境變量。
◆ MAIL是指當前用戶的郵件存放目錄。
◆ PS1是基本提示符,對於root用戶是#,對於普通用戶是$。PS2是附屬提示符,默認是“>”。可以通過修改此環境變量來修改當前的命令符,比 如下列命令會將提示符修改成字符串“Hello,My NewPrompt ”。
♦ Classpath設置的目的,在於告訴Java執行環境,在哪些目錄下可以找到您所要執行的Java程序所需要的類或者包。