Jenkinsfile中变量的插值

问题描述 投票:0回答:1

在以下脚本中,我试图在Jenkinsfile中插入i的值。

host='10.0.0.1 10.0.0.2'
sh 'for i in $host; do echo \"$i\" ; \
sshpass -p root ssh -o StrictHostKeyChecking=no root@${i} \'echo "* * * * * script/test.ksh 6432 \${i} abc xyz" > /var/spool/cron/root\'; \
done'

它正在控制台上打印最后的$ {i},但是它正确地插入了第一个$ {i}。我在哪里做错了?

它在jenkins控制台上打印如下。

sshpass -p root ssh -o StrictHostKeyChecking=no [email protected] 'echo " * * * * * scripts/test.ksh 6432 ${i} abc xyz" > /var/spool/cron/root'
    

在以下脚本中,我试图在Jenkinsfile中插入i的值。 host = '10 .0.0.1 10.0.0.2'sh'对于$ host中的i;回显\“ $ i \”; \ sshpass -p root ssh -o StrictHostKeyChecking =没有root @ $ {i} ...

linux jenkins groovy jenkins-pipeline ksh
1个回答
0
投票

您正在尝试遍历包含值的字符串,而不是遍历值的数组。

© www.soinside.com 2019 - 2024. All rights reserved.