我在其他服务器中有文件,该名称将更改。
File: testfile-1.2-12345.sh
,"12345"
将会改变。
如何将文本转换为变量?
在服务器上可以正常工作,并且可以打印12345
:
ls ~/test/testfile* | awk -F'[-.s]' '{print $5}'
但是当我从詹金斯那里做的时候,它是行不通的:
def versio = sh "ssh user@${ip} ls ~/test/testfile* | awk -F'[-.s]' '{print \$5}'"
它打印"12345"
,但是如果我尝试打印${versio}
,它显示null
。
答案 0 :(得分:0)
您的命令正确。但是在管道中,您需要指定returnStdout:true
。详细文档为here。
def versio = sh returnStdout: true, script: 'ssh user@${ip} ls ~/test/testfile* | awk -F\'[-.s]\' \'{print \\$5}\''