首页 > 解决方案 > 需要在 groovy Jenkins 脚本中运行 Bash 命令

问题描述

sh """块中运行此 Bash 命令时,我在下面的 Groovy Jenkins 代码中遇到错误。

我收到此错误:

/home/jenkins/workspace/_api-build_features_SSSVCS-12870@tmp/durable-be642e71/script.sh: line 1: syntax error: unterminated quoted string

对于以下 2 行 Groovy 代码:

aa = sh(script: "aa=\"\$(helm2 version --short --client|awk '{print substr(\$2,1,2)}'\"; echo \$aa", returnStdout: true).trim()

我在下面使用变量 aa if then else 循环,请建议我。

sh """
       if [ aa == v2 ]; then
        helm package --save=false ${extraArgs} ${PROJ}
       else
        helm package ${PROJ}
       fi
sh """

标签: bashshellgroovyjenkins-pipelinejenkins-groovy

解决方案


在第一行中,您错过了右括号')'。在第二个块中,考虑去掉第二个sh,否则会是整个字符串的一部分在两个"""之间。


推荐阅读