Linux中環境變量文件及配置


 

Linux也提供了修改和查看環境變量的命令!下面通過幾個實例來說明:
1.echo         顯示某個環境變量值 echo $PATH
2.export     設置一個新的環境變量 export HELLO="hello" (可以無引號)
3.env         顯示所有環境變量
4.set         顯示本地定義的shell變量
5.unset         清除環境變量 unset HELLO
6.readonly     設置只讀環境變量 readonly HELLO
 
Linux中常見的環境變量有:

1.PATH:指定命令的搜索路徑
2.HOME:指定用戶的主工作目錄(即用戶登陸到Linux系統中時,默認的目錄)
3.HISTSIZE:指保存歷史命令記錄的條數。
4.LOGNAME:指當前用戶的登錄名。
5.HOSTNAME:指主機的名稱,許多應用程序如果要用到主機名的話,通常是從這個環境變量中來取得的。
6.SHELL:指當前用戶用的是哪種Shell。
7.LANG/LANGUGE:和語言相關的環境變量,使用多種語言的用戶可以修改此環境變量。
8.MAIL:指當前用戶的郵件存放目錄。
9.PS1:命令基本提示符,對於root用戶是#,對於普通用戶是$。
10.PS2:附屬提示符,默認是“>”。
    備注:可以通過修改此環境變量來修改當前的命令符,比如下列命令會將提示符修改成字符串“Hello,My        NewPrompt ”。
# PS1="Hello,My NewPrompt"
注意:上述變量的名字並不固定,如HOSTNAME在某些Linux系統中可能設置成HOST
 

 

 

一、環境變量文件介紹

轉自:http://blog.csdn.net/cscmaker/article/details/7261921

Linux中環境變量包括系統級和用戶級,系統級的環境變量是每個登錄到系統的用戶都要讀取的系統變量,而用戶級的環境變量則是該用戶使用系統時加載的環境變量。
所以管理環境變量的文件也分為系統級和用戶級的,下面貼一個網上找到的講的比較明白的文件介紹(略作修改)[1]:

1.系統級:
(1)/etc/profile:該文件是用戶登錄時,操作系統定制用戶環境時使用的第一個文件,應用於登錄到系統的每一個用戶。該文件一般是調用/etc/bash.bashrc文件。
/etc/bash.bashrc:系統級的bashrc文件。
(2)/etc/environment:在登錄時操作系統使用的第二個文件,系統在讀取你自己的profile前,設置環境文件的環境變量。

2.用戶級(這些文件處於家目錄下):
(1)~/.profile:每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次!默認情況下,他設置一些環境變量,執行用戶的.bashrc文件。這里是推薦放置個人設置的地方
(2)~/.bashrc:該文件包含專用於你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取。不推薦放到這兒,因為每開一個shell,這個文件會讀取一次,效率肯定有影響。
~/.bash_profile or ~./bash_login:這里沒有引用作者的,下面會提到
~/.pam_environment:用戶級的環境變量設置文件,沒有做測試,不知道管不管用。


通過上面的文件介紹,就能明白我們需要設置環境變量的時候,需要修改什么文件,要想對所有的用戶生效,那就需要設置系統級的環境變量。反之,需要修改用戶級的文件(最好是修改.profile文件,理由上面已經講了)。

另外,我使用的是Ubuntu10.04,之前在查找資料設置用戶級環境變量的時候,有資料說要修改~.bash_profile文件,但是在ubuntu10.04系統中是沒有該文件。經查找,在ubuntu官網[2]上找到了這個文件的說明:

~/.bash_profile or ~./bash_login - If one of these file exist, bash executes it rather then "~/.profile" when it is started as a login shell. (Bash will prefer "~/.bash_profile" to "~/.bash_login"). However, these files won't influence a graphical session by default.

意思應該是說當這個文件存在時,在登錄shell時會讀取./bash_profile文件,而不是.profile文件。我認為該文件實現的目的 跟.profile文件是一樣的,當查找的資料中需要你修改.bash_profile文件,但卻你沒有該文件的時候,也可以修改.profile來完成 實現。

[1]http://cab402.appspot.com/2010/05/1/UbuntuEnvironmentVariablesSet.html

[2]https://help.ubuntu.com/community/EnvironmentVariables


免責聲明!

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



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