gpt4 book ai didi

linux - 当通过 ssh 在远程机器上从 Jenkins 执行命令时,如何将输出存储在变量中?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:14:45 25 4
gpt4 key购买 nike

我正在尝试对 VM 执行 ssh 并获取文件夹的文件列表,将结果存储在 Jenkins execute shell 中的变量中

*sshpass -p password ssh -T -o "StrictHostKeyChecking no" user@SERVER << ENDHERE

cd /some/folder/

folder=$(ls -l)

echo $folder

ENDHERE*

echo $folder 是空白的,但如果我直接在执行 shell 上执行 ls -l,它会在 Jenkins 控制台中显示列表,而不会存储在 $folder 中

请帮忙。

最佳答案

您的此处文档就像一个双引号字符串; $(ls -l)$folder内容被用作远程主机上的脚本之前进行评估。引用分隔符以将其视为单引号字符串。

... << 'ENDHERE'
cd /some/folder
folder=$(ls -l)
echo "$folder"
ENDHERE

关于linux - 当通过 ssh 在远程机器上从 Jenkins 执行命令时,如何将输出存储在变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54486451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com