我可以告诉你,这是我很长时间以来见过的最疯狂的事情。
我在 CentOS 5.4 上运行了这个(部分)sh 脚本:
# Check GOLD_DIR`
echo $GOLD_DIR"<--"
#export GOLD_DIR=/share/apps/GOLD_Suite/GOLD <uncommenting this line works!!
if [ "X$GOLD_DIR" = "X" ] ; then
echo "ERROR: GOLD_DIR is (probably) not set on host ${HostName}" >> ${3}
exit 1
fi
这给出了以下输出:
/share/apps/GOLD_Suite/GOLD<--
Waiting for 5 seconds ..... Testing output
The test script did spawn a job (i.e. PVM ran OK),
but errors were detected in the test script output
on the host machine: Below is the output
ERROR: GOLD_DIR is (probably) not set on host xxx.yyy.local
如您所见,GOLD_DIR
变量已设置(脚本找到它,如后缀“ <--
”的输出所示)!GOLD_DIR
如果我取消注释脚本代码(第一个片段)中变量的导出,一切正常。
编辑:GOLD_DIR
在/etc/profile
(使用export GOLD_DIR=/share/apps/GOLD_Suite/GOLD
)中导出
任何想法为什么?
注意 1:我不知道这是否重要,但这是 PVM 上的生成脚本。
注意2:脚本是用sh编写的,#!/bin/sh
但我使用的是bash ...
Edit3:我让它工作,但我不知道为什么!- 好的,我所做的就是将主机名(用sudo hostname abc
)重命名为我 ssh 进入的机器的名称(例如 abc)。之前 PVM 是列出机器的全名abc.mycompany.local
。请注意,两者abc.mycompany.local
和abc
是同一台机器。