..
在 Jenkinsfile 的 sh 中执行 awk
在 Jenkinsfile 中如果要执行 awk :
sh("ls -al | awk '{print $3}'")
这么写可能会报错, 因为 $3
被 groovy 认为是要替换字符传, 当前上下文中并没有 3 这个变量,所以会报错。
解决这个问题的方式如下:
sh """
ls -al | awk '{print \$3}'
"""
2020年01月15日更新
有同学的docker用户名中包含了 $ 符号,也可以用相同的方法来解决
sh """
echo ${PASSWD} | docker -u \$xxx --password-stdin
"""
参考文档: