我在/bin
这样设置的 UNIX 环境中工作:
-rwxr-xr-x 1 root root 617144 Nov 19 2009 bash
lrwxrwxrwx 1 root root 4 Nov 23 2010 sh -> bash
在我的环境中,我已经设置$BASH_ENV
为指向我的本地 .bashrc:
env | grep BASH
BASH_ENV=/home/users/atomicpirate/.bashrc
此外, .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
在第二种情况下,不读取 .bashrc。知道为什么会这样吗?符号链接似乎破坏了 $BASH_ENV 的预期行为。