Ubuntu環境變量——添加與刪除


以Ubuntu 14.04為例,其他linux發行版類似,但是也有不同之處。這里以PATH為例。
添加環境變量的幾個位置

  1. /etc/profile—— 此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行.並從/etc/profile.d目錄的配置文件中搜集shell的設置;
  2. /etc/environment—— 在登錄時操作系統使用的第二個文件,系統在讀取你自己的profile前,設置環境文件的環境變量;
  3. /etc/bashrc—— 為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取;
  4. ~/.profile—— 每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次!默認情況下,它設置一些環境變量,執行用戶的.bashrc文件;
  5. ~/.bashrc—— 該文件包含專用於你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該文件被讀取;

上面5個添加環境變量的位置的作用時間和作用域有所不同。

添加方法:

  • 方法一:直接修改/etc/enviroment文件,這種方法的作用域是全局的,永久性的。
#打開/etc/environment文件,其內容如下:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" 

#在環境變量PATH中添加你要添加的路徑即可。
  • 方法二:修改/etc/profile文件,這種方法的作用域是全局的,永久性的。
#這個文件不是保存環境變量信息的文件,在登錄時,系統只是根據它的內容對環境變量進行設置。

export PATH=$PATH:[your path1]:[your path2]:[...]  
export PATH=[your path1]:[your path2]:[...]:$PATH 

#其中,各個PATH之間用冒號分隔,$PATH指代添加your path前的環境變量。
  • 方法三:修改/etc/bashrc或者~/.bashrc文件,這兩個文件同樣不是為了保存環境變量,只是在使用bash shell時進行設置而已,所以設置方法和二中一樣。對於/etc/bashrc文件,修改的作用於所以用戶,但對於~/.bashrc文件,修改的僅僅作用於當前用戶。這種修改的作用也是永久性的。
export PATH=$PATH:[your path1]:[your path2]:[...]  
export PATH=[your path1]:[your path2]:[...]:$PATH 

這兩個文件只是對bash shell的環境變量的設置,脫離的bash shell,不使用命令行了,這樣的修改就可能沒有意義了。

  • 方法四:修改~/.profile文件,作用僅限於當前用戶,但同樣也是永久性的。

這種方法和修改/etc/profile本質上是一樣的,這種之不過是僅僅修改了當前用戶自己的配置文件。所以作用僅限於當前用戶,但同樣也是永久性的。

  • 方法五:在Terminal中使用shell命令,只在當前Terminal中起作用,關閉了當前Terminal就無效了。對其他Terminal也無效
#在Bash中直接用下面命令:

export PATH=$PATH:[your path1]:[your path2]:[...]  
export PATH=[your path1]:[your path2]:[...]:$PATH 

顯示環境變量

  • 顯示所有環境變量
env #打印所有的環境變量
  • 顯示指定環境變量
echo $PATH #打印PATH環境變量  

讓以上修改生效

在以上前四種方法中,修改后不會設置立即生效(大家思考一下原因),需要重啟或者重新登錄(哪個需要重啟,哪個需要重新登錄?),第五種方法立即生效。

使用source命令也可以讓修改立即生效。使用方法為:

source [file name]  # file name 指的是上面修改過的文件的file name

刪除對環境變量的修改

將以上方法中對配置文件的修改還原回去即可。另外,由於第五種方法由於是臨時性質的且局部的,只需要關閉這個Terminal就好了。

一個添加環境變量的例子

這是今天我遇到的一個問題:Ubuntu 14.04 中系統默認安裝了qt4,今天我安裝了qt5,運行qmake時候會產生錯誤。Ubuntu14.04默認${PATH}路徑中的/usr/bin下存在諸多qt命令(確切的說是指向qtchooser的軟連接,qtchooser最終會選擇系統自帶的Qt4命令:但是這些命令默認都不存在),如果${QTDIR}/bin在${PATH}之后,會導致Qt命令失效。

特別是qmake命令,在后續安裝中需要用到,保險起見,在終端輸入qmake,如果顯示qmake命令不存在,請通過創建軟連接進行解決。

 

#安裝完成后配置一下PATH,在當前用戶主目錄下的.bashrc (or .zshrc)文件中加入:
    export QTDIR=/opt/Qt/5.3/gcc/  
      
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${QTDIR}/lib  
      
    export PATH=${QTDIR}/bin:${PATH} 

#注意${QTDIR}/bin和${PATH}的順序!因為 Ubuntu14.04默認${PATH}路徑中的/usr/bin下存在諸多qt命令
#(確切的說是指向qtchooser的軟連接,qtchooser 最終會選擇系統自帶的Qt4命令:但是這些命令默認都不存在),
#如果${QTDIR}/bin在${PATH}之后,會導致Qt命令失效。 

 

#創建軟連接
#將/usr/bin下的qmake軟連接到/opt/Qt/5.3/gcc/bin/qmake上,
#或者將/usr/lib/i386-linux-gnu/qt4/bin/qmake軟連接到/opt/Qt/5.3/gcc/bin/qmake上: sudo ln -s /opt/Qt/5.3/gcc/bin/qmake /usr/bin/qmake or sudo ln -s /opt/Qt/5.3/gcc/bin/qmake /usr/lib/i386-linux-gnu/qt4/bin/qmake #創建完成后再輸入qmake查看是否設置成功。


免責聲明!

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



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