jenkinsh-ssh到服务器无法作为变量存储



我将Jenkins设置为server1,并创建了一个Jenkins作业,该作业通过ssh连接到服务器2,并使用pwd打印路径。代码如下:

#!/bin/bash
set -e
set -x
ssh server2 """pwd"""

它按预期打印服务器2的主路径。现在我想将路径存储到一个变量中。我尝试了以下代码:

#!/bin/bash
set -e
set -x
ssh server2 """var = $(pwd)"""

这里的结果并不像预期的那样,因为输出是服务器1中Jenkins home的路径,而不是服务器2的home路径。如何存储server2的主路径?

在shell scrip上,存储远程主机执行输出的方式应该是这样的:

result=$(ssh server2 "pwd" 2>&1)

不知道您计划如何捕获并在管道上使用它,但考虑使用ssh代理插件或ssh插件可能更有用。

同时,正如您在评论中指出的,在bash中的变量声明中使用空格是不正确的var = $(pwd)应为var=$(pwd)

相关内容

  • 没有找到相关文章

最新更新