Linux環(huán)境變量介紹和區(qū)別

簡介

  • 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則每次打開新的終端時,都會被讀取。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容