簡介
- 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)鏈接庫的目錄。設(shè)置方法如下(其中,LIBDIR1和LIBDIR2為兩個庫目錄):
export LIBRARY_PATH=LIBDIR1:LIBDIR2:$LIBRARY_PATH
1.2 LD_LIBRARY_PATH
LD_LIBRARY_PATH環(huán)境變量用于在程序加載運行期間查找動態(tài)鏈接庫時指定除了系統(tǒng)默認(rèn)路徑之外的其他路徑
export LD_LIBRARY_PATH=LIBDIR1:LIBDIR2:$LD_LIBRARY_PATH
注意:LD_LIBRARY_PATH中指定的路徑會在系統(tǒng)默認(rèn)路徑之前進(jìn)行查找
2. 環(huán)境變量文件
2.1 /etc/profile
該文件登錄操作系統(tǒng)時,為每個用戶設(shè)置環(huán)境信息,當(dāng)用戶第一次登錄時,該文件被執(zhí)行。也就是說這個文件對每個shell都有效,用于獲取系統(tǒng)的環(huán)境信息。
2.2 /etc/bashrc
為每一個運行bash shell的用戶執(zhí)行此文件,當(dāng)bash shell被打開時,該文件被讀取。也就是說,當(dāng)用戶shell執(zhí)行了bash時,運行這個文件。
2.3 ~/.bash_profile, ~/.bash_login or ~/.profile
profile用于登錄式shell, 而bashrc用于每個交互式shell
2.4 ~/.bashrc
該文件存儲的是專屬于個人bash shell的信息,當(dāng)?shù)卿洉r以及每次打開一個新的shell時,執(zhí)行這個文件。在這個文件里可以自定義用戶專屬的個人信息。
2.5 那么在用戶登錄系統(tǒng)時候,相關(guān)的文件執(zhí)行順序是什么呢?
在剛登錄Linux時,
- 首先啟動
/etc/profile文件 - 然后再啟動用戶目錄下的
~/.bash_profile、~/.bash_login或~/.profile文件中的其中一個,執(zhí)行的順序為:~/.bash_profile、~/.bash_login、~/.profile。 - 如果
~/.bash_profile文件存在的話,一般還會執(zhí)行~/.bashrc文件。
準(zhǔn)確的說,當(dāng)shell是交互式登錄shell時,讀取.bash_profile文件,如在系統(tǒng)啟動、遠(yuǎn)程登錄或使用su -切換用戶時;當(dāng)shell是交互式登錄和非登錄shell時都會讀取.bashrc文件,如:在圖形界面中打開新終端或使用su切換用戶時,均屬于非登錄shell的情況。
.bash_profile只在會話開始時被讀取一次,而.bashrc則每次打開新的終端時,都會被讀取。