簡介
- LIBRARY_PATH和LD_LIBRARY_PATH環(huán)境變量的區(qū)別
- 環(huán)境變量文件
/etc/profile
、/etc/bashrc
补胚、~/.bashrc
和~/.bash_profile
的區(qū)別
1. LIBRARY_PATH和LD_LIBRARY_PATH
1.1 LIBRARY_PATH
LIBRARY_PATH環(huán)境變量用于在程序編譯期間查找動態(tài)鏈接庫時指定查找共享庫的路徑码耐,例如,指定gcc編譯需要用到的動態(tài)鏈接庫的目錄溶其。設置方法如下(其中骚腥,LIBDIR1和LIBDIR2為兩個庫目錄):
export LIBRARY_PATH=LIBDIR1:LIBDIR2:$LIBRARY_PATH
1.2 LD_LIBRARY_PATH
LD_LIBRARY_PATH環(huán)境變量用于在程序加載運行期間查找動態(tài)鏈接庫時指定除了系統(tǒng)默認路徑之外的其他路徑
export LD_LIBRARY_PATH=LIBDIR1:LIBDIR2:$LD_LIBRARY_PATH
注意:LD_LIBRARY_PATH中指定的路徑會在系統(tǒng)默認路徑之前進行查找
2. 環(huán)境變量文件
2.1 /etc/profile
該文件登錄操作系統(tǒng)時,為每個用戶設置環(huán)境信息瓶逃,當用戶第一次登錄時,該文件被執(zhí)行束铭。也就是說這個文件對每個shell都有效,用于獲取系統(tǒng)的環(huán)境信息厢绝。
2.2 /etc/bashrc
為每一個運行bash shell的用戶執(zhí)行此文件契沫,當bash shell被打開時,該文件被讀取。也就是說昔汉,當用戶shell執(zhí)行了bash時懈万,運行這個文件。
2.3 ~/.bash_profile, ~/.bash_login or ~/.profile
profile用于登錄式shell, 而bashrc用于每個交互式shell
2.4 ~/.bashrc
該文件存儲的是專屬于個人bash shell的信息,當?shù)卿洉r以及每次打開一個新的shell時,執(zhí)行這個文件会通。在這個文件里可以自定義用戶專屬的個人信息口予。
2.5 那么在用戶登錄系統(tǒng)時候,相關的文件執(zhí)行順序是什么呢?
在剛登錄Linux時涕侈,
- 首先啟動
/etc/profile
文件 - 然后再啟動用戶目錄下的
~/.bash_profile
沪停、~/.bash_login
或~/.profile
文件中的其中一個,執(zhí)行的順序為:~/.bash_profile
裳涛、~/.bash_login
木张、~/.profile
。 - 如果
~/.bash_profile
文件存在的話调违,一般還會執(zhí)行~/.bashrc
文件窟哺。
準確的說,當shell是交互式登錄shell時技肩,讀取.bash_profile文件,如在系統(tǒng)啟動浮声、遠程登錄或使用su -切換用戶時虚婿;當shell是交互式登錄和非登錄shell時都會讀取.bashrc文件,如:在圖形界面中打開新終端或使用su切換用戶時泳挥,均屬于非登錄shell的情況然痊。
.bash_profile只在會話開始時被讀取一次,而.bashrc則每次打開新的終端時屉符,都會被讀取剧浸。