set,env和export命令顯示shell變量其區別,與環境變量掃盲(一)


種類:

  ♦ 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程序所需要的類或者包。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM