Gitlab:使用grep的管道命令不起作用?

时间:2017-11-15 10:21:23

标签: bash grep gitlab gitlab-ci

作业脚本中的以下命令:

STATUS_ID=$(grep -Eo "Status Code [0-9]+: Done" somefile | grep -Eo "[0-9]+")

似乎导致以下ci lint错误:

  

脚本配置应该是字符串或字符串数​​组

该命令在我的bash上工作正常,但是当通过包含该行的文件尝试grep状态代码时:

  

状态代码8484:完成

gitlab导致错误的原因是什么?

1 个答案:

答案 0 :(得分:1)

冒号(:)将该行作为yaml地图进行处理。

解决方案(为了逃避冒号的特殊含义)是将整行用单引号括起来:

'STATUS_ID=$(grep -Eo "Status Code [0-9]+: Done" somefile | grep -Eo "[0-9]+")'