Я могу вам сказать, что это самая безумная вещь, которую я видел за долгое время.
У меня есть этот (часть) сценарий sh, работающий на CentOS 5.4:
# 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
- это один и тот же компьютер.