在 Jenkinsfile 的 sh 中执行 awk

在 Jenkinsfile 中如果要执行 awk :

1
sh("ls -al | awk '{print $3}'")

这么写可能会报错, 因为 $3 被 groovy 认为是要替换字符传, 当前上下文中并没有 3 这个变量,所以会报错。

解决这个问题的方式如下:

1
2
3
sh """
ls -al | awk '{print \$3}'
"""

参考文档: