采购bash脚本并通过反引号执行将值分配给变量

时间:2018-08-22 12:57:06

标签: bash variables backticks

我对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。

最诚挚的问候,

斯文

0 个答案:

没有答案