bash - 需要在 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 """
解决方案
在第一行中,您错过了右括号')'。在第二个块中,考虑去掉第二个sh,否则会是整个字符串的一部分在两个"""之间。
推荐阅读
- apache-spark - PySpark:对分区进行窗口化和查看数据需要太长时间
- sql - 像 Excel 粘贴一样转置 SQL 表
- arrays - 如何将范围内的数据添加到 ActiveX 列表框?
- c++ - 使用 GLUT 中的键进行旋转
- php - 将php数组键显式映射到数据库列(oracle)
- python - 如何理解elasticsearch请求脚本的错误信息?
- webpack - TypeError:无法解构“未定义”或“空”的属性“记录器”
- c# - 使用 Visual Studio 的内置发布功能生成应用程序设置时找不到 DLL 文件
- r - sf::st_make_grid() 中的单元格大小似乎与地图单位无关
- javascript - base js:如何以“旧”方式向对象添加属性?