0

我有一个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
# ...
4

0 回答 0