Linux 中環境變量設置

  本文主要整理自如下博文:html

  .bash_profile和.bashrc的什麼區別及啓動過程mysql

  linux環境變量設置方法總結(PATH/LD_LIBRARY_PATH)linux

.bash_profile 和 .bashrc 區別

相關文件介紹

  /etc/profile: 此文件爲系統的每一個用戶設置環境信息,當用戶第一次登陸時,該文件被執行。並從 /etc/profile.d 目錄的配置文件中搜集shell的設置。sql

  /etc/bashrc: 爲每個運行 bash shell 的用戶執行此文件。當 bash shell 被打開時,該文件被讀取。shell

  ~/.bash_profile: 每一個用戶均可使用該文件輸入專用於本身使用的 shell 信息,當用戶登陸時,該文件僅僅執行一次!默認狀況下,其餘設置的一些環境變量,執行用戶的 .bashrc 文件。緩存

  ~/.bashrc: 該文件包含專用於登錄用戶的 bash shell 的 bash 信息,當登陸時以及每次打開新的 shell 時,該該文件被讀取。bash

  ~/.bash_logout: 當每次退出 bash shell 時,執行該文件。ui

  另外,/etc/profile中設定的變量(全局)的能夠做用於任何用戶,而~/.bashrc等中設定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關係。spa

 

  ~/.bash_profile 是交互式、login 方式進入 bash 運行的。操作系統

  ~/.bashrc 是交互式 non-login 方式進入 bash 運行的。

  一般兩者設置大體相同,前者會調用後者。

啓動過程

  在登陸Linux時要執行文件的過程以下:

  在剛登陸 Linux 時,首先啓動 /etc/profile 文件,而後再啓動用戶目錄下的 ~/.bash_profile、 ~/.bash_login 或 ~/.profile 文件中的其中一個(根據不一樣的 Linux 操做系統的不一樣,命名不同),

  執行的順序爲:~/.bash_profile、 ~/.bash_login、 ~/.profile。

  若是 ~/.bash_profile 文件存在的話,通常還會執行 ~/.bashrc文件。

  由於在 ~/.bash_profile 文件中通常會有下面的代碼:

# Get the aliases and functions
if [ -f ~/.bashrc ] ; then
    . ./bashrc
fi

  ~/.bashrc 中,通常還會有如下代碼:

# Source global definitions
if [ -f /etc/bashrc ] ; then
    . /bashrc
fi

  因此,~/.bashrc 會調用 /etc/bashrc 文件。最後,在退出 shell 時,還會執行 ~/.bash_logout 文件。

  執行順序爲:/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout

環境變量設置

PATH:  可執行程序的查找路徑

  查看當前環境變量:

  echo $PATH

  設置: 

  方法一:export PATH=PATH:/XXX 可是登出後就失效

  方法二:修改~/.bashrc或~/.bash_profile或系統級別的/etc/profile

  1. 在其中添加例如export PATH=/opt/ActivePython-2.7/bin:$PATH

  2. source .bashrc (Source命令也稱爲「點命令」,也就是一個點符號(.)。source命令一般用於從新執行剛修改的初始化文件,使之當即生效,而沒必要註銷並從新登陸)

LD_LIBRARY_PATH: 動態庫的查找路徑

  設置:

  方法一: export  LD_LIBRARY_PATH=LD_LIBRARY_PATH:/XXX 可是登出後就失效

  方法二: 修改 ~/.bashrc 或 ~/.bash_profile 或系統級別的 /etc/profile

  1. 在其中添加例如 export PATH=/opt/ActiveP/lib:$LD_LIBRARY_PATH     

  2. source .bashrc

  方法三:這個沒有修改 LD_LIBRARY_PATH 可是效果是同樣的實現動態庫的查找, 

  1. /etc/ld.so.conf 下面加一行/usr/local/mysql/lib

  2. 保存事後 ldconfig 一下(ldconfig 命令的用途,主要是在默認搜尋目錄(/lib 和 /usr/lib)以及動態庫配置文件 /etc/ld.so.conf 內所列的目錄下,搜索出可共享的動態連接庫(格式如前介紹,lib*.so*),進而建立出動態裝入程序(ld.so)所需的鏈接和緩存文件.緩存文件默認爲 /etc/ld.so.cache,此文件保存已排好序的動態連接庫名字列表。)

  方法三設置稍微麻煩,好處是比較不受用戶的限制。

刪除環境變量

unset PATH
unset LD_LIBRARY_PATH
相關文章
相關標籤/搜索