linux下添加環境變量

設置 Linux 環境變量可以通過 export 實現,也可以通過修改幾個文件來實現,有必要弄清楚這兩種方法以及這幾個文件的區別。

通過文件設置 Linux 環境變量
首先是設置全局環境變量,對所有用戶都會生效:

etc/profile: 此文件爲系統的每個用戶設置環境信息。當用戶登錄時,該文件被執行一次,並從 /etc/profile.d 目錄的配置文件中搜集shell 的設置。一般用於設置所有用戶使用的全局變量。
/etc/bashrc: 當 bash shell 被打開時,該文件被讀取。也就是說,每次新打開一個終端 shell,該文件就會被讀取。

接着是與上述兩個文件對應,但只對單個用戶生效:

~/.bash_profile 或 ~/.profile: 只對單個用戶生效,當用戶登錄時該文件僅執行一次。用戶可使用該文件添加自己使用的 shell 變量信息。另外在不同的LINUX操作系統下,這個文件可能是不同的,可能是 ~/.bash_profile, ~/.bash_login 或 ~/.profile 其中的一種或幾種,如果存在幾種的話,那麼執行的順序便是:~/.bash_profile、 ~/.bash_login、 ~/.profile。比如 Ubuntu 系統一般是 ~/.profile 文件。
~/.bashrc: 只對單個用戶生效,當登錄以及每次打開新的 shell 時,該文件被讀取。

此外,修改 /etc/environment 這個文件也能實現環境變量的設置。/etc/environment 設置的也是全局變量,從文件本身的作用上來說, /etc/environment 設置的是整個系統的環境,而/etc/profile是設置所有用戶的環境。有幾點需注意:

系統先讀取 etc/profile 再讀取 /etc/environment(還是反過來?)
/etc/environment 中不能包含命令,即直接通過 VAR="..." 的方式設置,不使用 export 。
使用 source /etc/environment 可以使變量設置在當前窗口立即生效,需註銷/重啓之後,才能對每個新終端窗口都生效。

修改 Linux 環境變量實例
以 Ubuntu 爲例,修改 ~/.profile 文件:

vim ~/.profile

如果該文件存在,則在文件的最後看到如下代碼,PATH 變量的值使用冒號(:)隔開的:

    # set PATH so it includes user's private bin if it exists
    if [ -d "$HOME/bin" ] ; then
        PATH="$HOME/bin:$PATH"
    fi

在最後加上代碼 PATH=”$PATH:/usr/local/hadoop/bin”,注意等號(=)兩邊不要有空格,即:

    # set PATH so it includes user's private bin if it exists
    if [ -d "$HOME/bin" ] ; then
        PATH="$HOME/bin:$PATH"
    fi
    PATH="$PATH:/usr/local/hadoop/bin"

因爲這個文件是在用戶登陸是纔讀取一次的,所以需要重啓纔會生效(修改 /etc/profile、/etc/environment 也是如此)。但可以使用命令 source ./.profile 使其立即生效。通過 echo $PATH 可以看到修改後的變量值:

    source ./.profile
    echo $PATH

通過 Shell 命令 export 修改 Linux 環境變量
另一種修改 Linux 環境變量的方式就是通過 Shell 命令 export,注意變量名不要有美元號 $,賦值語句中才需要有:

    export PATH=$PATH:/usr/local/hadoop/bin
    export 方式只對當前終端 Shell 有效

    使用 export 設置的變量,只對當前終端 Shell 有效,也就是說如果新打開一個終端,那這個 export 設置的變量在新終端中使無法讀取到的。適合設置一些臨時變量。
發佈了53 篇原創文章 · 獲贊 9 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章