我在UNIX环境中工作,其中/bin设置如下:
-rwxr-xr-x 1 root root 617144 Nov 19 2009 bash
lrwxrwxrwx 1 root root 4 Nov 23 2010 sh -> bash
Run Code Online (Sandbox Code Playgroud)
在我的环境中,我已经设置$BASH_ENV为指向我的本地.bashrc:
env | grep BASH
BASH_ENV=/home/users/atomicpirate/.bashrc
Run Code Online (Sandbox Code Playgroud)
另外,.bashrc作为它的第一行echo BASHRC READ.
我希望/ bin/sh和/ bin/bash的行为与此设置完全相同......但它们不会:
/bin/bash -c 'echo $BASH_ENV'
BASHRC READ
/home/users/atomicpirate/.bashrc
/bin/sh -c 'echo $BASH_ENV'
/home/users/atomicpirate/.bashrc
Run Code Online (Sandbox Code Playgroud)
在第二种情况下,不读取.bashrc.知道为什么会这样吗?似乎符号链接打破了$ BASH_ENV的预期行为.