Jenkins Remote Shell导出vairables

时间:2017-09-01 09:09:32

标签: shell jenkins jenkins-plugins

我正在使用Publish over SSH Plugin并且无法弄清楚如何在运行其他脚本之前使用远程脚本来更新我的PATH

当然,我只能运行一个脚本,我可以在其中找到我想要的任何内容,但我无法获取导出变量的第一个脚本,并从另一个脚本中访问这些变量。

示例:我有3个脚本changePath.shrunChangingPath.shrunAfterChangingPath.sh

changePath.sh
   export PATH=xxx:$PATH   

runChangingPath.sh
   echo "PATH 1: "$PATH
   . ./changePath.sh
   echo "PATH 2:"$PATH     

runAfterChangingPath.sh
    echo "PATH 3: "$PATH  

当我使用Publisher执行以下操作时:     ./runChangingPath.sh

它在“PATH 1”标签之后回显原始路径(比如/usr/bin),然后在“PATH 2”标签之后回显xxx:/usr/bin。它正如我所期待的那样回应。

但是当我用Publisher执行以下内容时:     ./changePath.sh     ./runAfterChangingPath.sh

我期待以下内容:PATH 3: xxx:/usr/bin,但目前的结果是PATH 3: /usr/bin

我只是不明白为什么在脚本changePath.sh中导出的变量PATH在调用shell时不会持久存在。

PS:如果我直接用ssh运行完全相同的东西,那么所有结果都是我期待的结果。所以我似乎真的只与“SSH Publisher插件”有关。

0 个答案:

没有答案