当我想创建几个 shell 命令时,我的脚本管道返回第一个命令的答案而不执行管道。这是我的情况:我想在 HTML 页面上获取特定内容。所以我在页面上卷曲,然后是 grep,最后是 awk。
def checkState(hostUri, check) {
node('master') {
def result = sh 'curl -Lsd "login=username&password=password&button=Login" -c cookie ${hostUri} && grep ${check} && awk -F \'"\' {\'print $2\'}'
println result
}
只有我的管道的控制台返回对应只执行curl命令而不执行grep和awk。
Running on Jenkins in /var/lib/jenkins/workspace/Clearcase@8
[Pipeline] {
[Pipeline] sh
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
...
</html>
[Pipeline] }
[Pipeline] // node
我尝试了不同的方法,例如使用脚本管道中不存在'''
的命令。new BuildProcess