1. 程式人生 > >轉載--linux 環境變數講解

轉載--linux 環境變數講解

轉自:https://www.cnblogs.com/Joans/p/7760378.html

 

Linux下環境變數設定

1、在Windows 系統下,很多軟體安裝都需要配置環境變數,比如 安裝 jdk ,如果不配置環境變數,在非軟體安裝的目錄下執行javac 命令,將會報告找不到檔案,類似的錯誤。

2、那麼什麼是環境變數?簡單說,就是指定一個目錄,執行軟體的時候,相關的程式將會按照該目錄尋找相關檔案。 設定變數對於一般人最實用的功能就是: 不用拷貝某些dll檔案到系統目錄中了,而path 這一系統變數就是系統搜尋dll檔案的一系列路徑

在Linux系統下,如果你下載並安裝應用程式,很有可能在鍵入它的名稱的時候出現 “command  not found ” 的提示內容。 如果每次都到安裝目錄資料夾內,找到可執行檔案來進行操作就太繁瑣了。 這涉及到環境變數path的設定問題,而Path 的設定也是在Linux下定製環境變數的一個組成部分

Linux下環境變數設定的三種方法

如想將一個路徑加入到$PATH中,可以像下面這樣做:

只對當前的shell 起作用的環境變數

1、控制檯中設定,不贊成這種方式,因為他只對當前的shell 起作用,換一個shell設定就無效了:

直接控制檯中輸入 : $PATH="$PATH":/NEW_PATH  (關閉shell Path會還原為原來的path)

對所有的使用者的都起作用的環境變數

2、修改 /etc/profile 檔案,如果你的計算機僅僅作為開發使用時推存使用這種方法,因為所有使用者的shell都有權使用這個環境變數,可能會給系統帶來安全性問題。這裡是針對所有的使用者的,所有的shell

vi /etc/profile

在/etc/profile的最下面新增:  export  PATH="$PATH:/NEW_PATH"

針對當前特定的使用者起作用的環境變數

3、修改bashrc檔案,這種方法更為安全,它可以把使用這些環境變數的許可權控制到使用者級別,這裡是針對某一特定的使用者,如果你需要給某個使用者許可權使用這些環境變數,你只需要修改其個人使用者主目錄下的 .bashrc檔案就可以了。

vi ~/.bashrc

在下面新增:

Export  PATH="$PATH:/NEW_PATH"

 

 

Ubuntu Linux系統環境變數配置檔案: 
/etc/profile : 在登入時,作業系統定製使用者環境時使用的第一個檔案 ,此檔案為系統的每個使用者設定環境資訊,當用戶第一次登入時,該檔案被執行。 

/etc /environment : 在登入時作業系統使用的第二個檔案, 系統在讀取你自己的profile前,設定環境檔案的環境變數。 

~/.profile :  在登入時用到的第三個檔案 是.profile檔案,每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當用戶登入時,該檔案僅僅執行一次!預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案。

/etc/bashrc : 為每一個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取. 

~/.bashrc : 該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該該檔案被讀取。 



PASH環境變數的設定方法: 

方法一:使用者主目錄下的.profile或.bashrc檔案(推薦) 

登入到你的使用者(非root),在終端輸入: 
$ sudo gedit ~/.profile(or .bashrc) 
可以在此檔案末尾加入PATH的設定如下: 
export PATH=”$PATH:your path1:your path2 ...” 
儲存檔案,登出再登入,變數生效。 
該方式新增的變數只對當前使用者有效。 

方法二:系統目錄下的profile檔案(謹慎) 

在系統的etc目錄下,有一個profile檔案,編輯該檔案: 
$ sudo gedit /etc/profile 
在最後加入PATH的設定如下: 
export PATH=”$PATH:your path1:your path2 ...” 
該檔案編輯儲存後,重啟系統,變數生效。 
該方式新增的變數對所有的使用者都有效。 

方法三:系統目錄下的 environment 檔案(謹慎) 

在系統的etc目錄下,有一個environment檔案,編輯該檔案: 
$ sudo gedit /etc/environment 
找到以下的 PATH 變數: 
PATH="<......>" 
修改該 PATH 變數,在其中加入自己的path即可,例如: 
PATH="<......>:your path1:your path2 …" 
各個path之間用冒號分割。該檔案也是重啟生效,影響所有使用者。 
注意這裡不是新增export PATH=… 。 

方法四:直接在終端下輸入 

$ sudo export PATH="$PATH:your path1:your path2 …" 
這種方式變數立即生效,但使用者登出或系統重啟後設置變成無效,適合臨時變數的設定。 


注 意:方法二和三的修改需要謹慎,尤其是通過root使用者修改,如果修改錯誤,將可能導致一些嚴重的系統錯誤。因此筆者推薦使用第一種方法。另外嵌入式 Linux的開發最好不要在root下進行(除非你對Linux已經非常熟悉了!!),以免因為操作不當導致系統嚴重錯誤。

下面是一個對environment檔案錯誤修改導致的問題以及解決方法示例: 

問題:因為不小心在 etc/environment裡設在環境變數導致無法登入 
提示:不要在 etc/environment裡設定 export PATH這樣會導致重啟後登入不了系統 
解決方法: 
在登入介面 alt +ctrl+f1進入命令模式,如果不是root使用者需要鍵入(root使用者就不許這麼羅嗦,gedit編輯會不可顯示) 
/usr/bin/sudo /usr/bin/vi /etc/environment 
游標移到export PATH** 行,連續按 d兩次刪除該行; 
輸入:wq儲存退出; 
然後鍵入/sbin/reboot重啟系統(可能會提示need to boot,此時直接power off)