pka*_*mol 5 bash grep gitlab gitlab-ci
作业脚本中的以下命令:
STATUS_ID=$(grep -Eo "Status Code [0-9]+: Done" somefile | grep -Eo "[0-9]+")
Run Code Online (Sandbox Code Playgroud)
似乎导致以下 ci lint 错误:
脚本配置应该是一个字符串或一个字符串数组
该命令在我的 bash 上运行良好,但是当尝试grep通过包含以下行的文件获取状态代码时:
状态码 8484:完成
是什么导致了 gitlab 上的错误?
冒号 ( :) 使该行被解释为yaml地图。
解决方案(为了逃避冒号的特殊含义)是将整行用单引号引起来:
'STATUS_ID=$(grep -Eo "Status Code [0-9]+: Done" somefile | grep -Eo "[0-9]+")'
Run Code Online (Sandbox Code Playgroud)