bashrc 與 bashprofile文件區別

一個windows背景的同事,剛開始做linux系統上的開發,諮詢爲什麼他的bin程序找不到相應的so文件,告知他需要配置LD_LIBRARY_PATH變量來指定動態鏈接庫位置,方法是在~/.bashrc 或者 ~/.bash_profile中加入export語句,比如:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/tools/svn/lib/

便可以查找到該so庫,同事問我這個兩個地方有什麼區別,我頓時語塞,於是查了下資料,記錄如下:

要分清兩者的區別,需要知道在Unix下Shells可以分成下面的兩類:

Login shell

Sub shell(Non login shell)

Login shell是當用戶使用賬號登陸的過程中產生的shell,比如ssh 遠程登錄一臺機器,當用戶登錄時,~/.bash_profile文件被執行一次;

Sub shell (Non login shell) 不需要重複登陸的動作,比如在bash環境下再次執行bash 命令,這種情況下調用~/.bashrc

一般在.bash_profile裏面都會有下面的代碼:

# .bash_profile

 

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

    .~/.bashrc

fi

所以個人意見最好把export語句寫到 .bashrc.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章