1.echo 顯示某個環境變量值 echo $PATH
2.export 設置一個新的環境變量 export HELLO="hello" (可以無引號)
3.env 顯示所有環境變量
4.set 顯示本地定義的shell變量
5.unset 清除環境變量 unset HELLO
6.readonly 設置只讀環境變量 readonly HELLO
一、環境變量文件介紹
轉自: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
