我对bash有一个奇怪的问题,无法解释。
我创建了包含以下行的脚本test.sh:
export TEST_HOME=`ls -d $HOME`
echo $TEST_HOME
if [ "$HOME" = "$TEST_HOME" ]
then
echo "Equal"
else
echo "Not equal"
fi
现在,如果我获取test.sh:
$ . test.sh
输出为
/home/sven
Not equal
但是,如果我将其设为可执行文件并以普通脚本运行:
$ test.sh
输出为
/home/sven
Equal
任何解释如何解释这种行为?我正在使用RedHat 5。
最诚挚的问候,
斯文