我有一个test.sh在远程服务器上调用的脚本。它打印一个已在 中设置的环境变量,.profile如下所示:
#!/bin/ksh
echo "JAVA_HOME: $JAVA_HOME"
当我手动运行脚本时,我得到与使用 echo 命令相同的结果。
my_user@remote_server$ echo "JAVA_HOME: $JAVA_HOME"
JAVA_HOME: /path/to/java_jdk
my_user@remote_server$ ./test/test.sh
JAVA_HOME: /path/to/java_jdk
我在 JenkinsSSH plugin中配置的命令与我手动执行的命令完全相同:
echo "JAVA_HOME: "$JAVA_HOME
./test/test.sh
但是当我运行它时,我在 Jenkins 中得到以下输出:
JAVA_HOME: /data/work/java/jdk1.7.0_45
JAVA_HOME:
为什么不能从脚本中访问环境变量?
我的.profile看起来像这样
#!/bin/ksh
# ...
export JAVA_HOME=/path/to/java_jdk
# ...