我很困惑我的shell如何讀取bash_profile。閱讀「bash_profile」正在做兩件相互矛盾的事情
根,我的〜/ .bash_profile文件看起來像這樣
# .bash_profile
# Get the aliases and functions
if [-f ~/.bashrc ]; then
.~/.bashrc
fi
PATH=$PATH:$HOME/bin:$HOME/sbin:$HOME/usr/sbin:$HOME/usr/bin:/usr/sbin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export PATH=$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH
unset USERNAME
沒有〜/ .profile文件。
在用戶調用MARUHAN,我的〜/ .bash_profile中看起來像這樣
# .bash_profile
# Get the aliases and functions
if [-f ~/.bashrc ]; then
.~/.bashrc
fi
PATH=$PATH:$HOME/bin:$HOME/sbin:$HOME/usr/sbin:$HOME/usr/bin:/usr/sbin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/maruhan/Desktop/issac:/usr/local/lib
ASDF=$ASDF:/home
export PATH=$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH
export ASDF=$ASDF
unset USERNAME
我的〜/ .profile文件看起來像這樣
LD_LIBRARY_PATH=/home/maruhan/Desktop/issac:/usr/local/lib:$LD_LIBRARY_PATH
ASDF=/home:$ASDF
export ASDF=$ASDF
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH
你可以清楚地看到,ASDF沒有定義在root的bash_profile中。
但是,當我打電話給export
,我得到這根。
declare -x ASDF=":/home"
但沒有關於LD_LIBRARY_PATH。
奇怪的是,在maruhan中,運行導出會同時顯示ASDF和LD_LIBRARY_PATH。
此外,在/ etc/environment中還沒有關於ASDF或LD_LIBRARY_PATH的內容。我也沒有/ etc/bash_profile文件。
運行echo $0
給我bash
爲根和maruhan。
在ASDF存在的情況下,LD_LIBRARY_PATH如何在根中消失?
* root *用戶如何啓動'bash'?和* maruhan *? – pynexj
@whjm可以幫助我如何檢查? – CuriousKimchi
'export PATH LD_LIBRARY_PATH ASDF'就足夠了;你不需要「重新分配」這些值。 'export'標記名稱,而不是值。 – chepner