注:
1.作者的系統是Ubuntu 13.10,在其他linux發行版中環境變量的設置方式類似但會有不同;
2. 這里以環境變量PATH為例,環境變量還可以有很多,也可以自己定義名稱。
什么是環境變量
環境變量一般是指在操作系統中用來指定操作系統運行環境的一些參數,比如臨時文件夾位置和系統文件夾位置等[1]。因為一些參數可以被當做系統默認的設置,如此以來,在運行某個程序的時候就不需要再指定這些參數了。比如你總是使用某個程序,在命令行中使用時,每次運行這個程序你都要進入程序所在的目錄啟動程序。如果你將程序所在的目錄加入環境變量后,運行程序時你只需要輸入程序的名稱,系統就會自動搜索到你程序的位置,而不會再出現command not found這樣的問題了。
如何設置環境變量
首先要認識幾個和環境變量有關的文件[2]:
/etc/profile —— 此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行.並從/etc/profile.d目錄的配置文件中搜集shell的設置;
/etc/environment —— 在登錄時操作系統使用的第二個文件,系統在讀取你自己的profile前,設置環境文件的環境變量;
/etc/bashrc —— 為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取;
~/.profile —— 每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次!默認情況下,它設置一些環境變量,執行用戶的.bashrc文件;
~/.bashrc —— 該文件包含專用於你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該文件被讀取;
認識以上5個文件之后,我們設置環境變量的方法也就有了。
方法一:直接修改/etc/enviroment文件,這種方法的作用域是全局的,永久性的。
打開/etc/environment文件,其內容如下:
[plain] view plain copy
1. PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
在環境變量PATH中添加你要添加的路徑即可。
方法二:修改/etc/profile文件,這種方法的作用域是全局的,永久性的。
這個文件不是保存環境變量信息的文件,在登錄時,系統只是根據它的內容對環境變量進行設置。
[plain] view plain copy
1. export PATH=$PATH:[your path1]:[your path2]:[...]
2. export PATH=[your path1]:[your path2]:[...]:$PATH
其中,各個PATH之間用冒號分隔,$PATH指代添加your path前的環境變量。我感覺這是計算機中一個特有的定義方式,就像 i = i + 1一樣。
方法三:修改/etc/bashrc或者~/.bashrc文件
這兩個文件同樣不是為了保存環境變量,只是在使用bash shell時進行設置而已,所以設置方法和二中一樣:
[plain] view plain copy
1. export PATH=$PATH:[your path1]:[your path2]:[...]
2. export PATH=[your path1]:[your path2]:[...]:$PATH
對於/etc/bashrc文件,修改的作用於所以用戶,但對於~/.bashrc文件,修改的僅僅作用於當前用戶。這種修改的作用也是永久性的。
另外,有一個疑問,我也不是很清楚:這兩個文件只是對bash shell的環境變量的設置,我感覺脫離的bash shell,不使用命令行了,這樣的修改就沒有意義了。這種想法到底對不對我也不是很清楚,我對bash shell的認識還很淺,這個地方就當存疑,以后對系統更了解再解決。
方法四:修改~/.profile文件
這種方法和修改/etc/profile本質上是一樣的,這種之不過是僅僅修改了當前用戶自己的配置文件。所以作用僅限於當前用戶,但同樣也是永久性的。
方法五:在Terminal中使用shell命令
[plain] view plain copy
1. export PATH=$PATH:[your path1]:[your path2]:[...]
2. export PATH=[your path1]:[your path2]:[...]:$PATH
這種方法是暫時的關閉終端這個設置也就失效了,而且作用僅僅限於當前終端,其他終端中這個設置不會啟作用。
在設置成功后,可以使用命令查看設置的環境變量。
env //打印所有的環境變量
[plain] view plain copy
1. echo $PATH //打印PATH環境變量
這時我們就可以在PATH變量后看到相關的修改了。在以上前四種方法中,修改后不會設置立即生效(大家思考一下原因),需要重啟或者重新登錄(哪個需要重啟,哪個需要重新登錄?),當然使用source命令也可以。使用方法為:
[plain] view plain copy
1. source [file name] //不要忘記路徑,或者執行時要在文件路徑下
如何刪除對環境變量的修改
將以上方法中對配置文件的修改還原回去即可。另外,由於第五種方法由於是臨時性質的且局部的,只需要關閉這個Terminal就好了
參考資料
[1] 環境變量,百度百科
[2] Ubuntu環境變量,xiaosu_521,csdn
轉自:http://beanocean.diandian.com/post/2013-11-09/40060047963