bash - For 循环 gitlab-ci.yml
问题描述
我有这个代码片段。它给了我语法错误:文件意外结束如果我将它复制到 .sh 文件中并在终端中运行它可以工作。
before_script:
- sbt sbtVersion
- for file in ./pending/*.sql; do
file=$(basename "$file")
export str_opt="$(cat ./pending/"$file"|tr '\n' ' ')"
mv ./pending/"$file" ./done/
done
我哪里错了?
解决方案
do;
没有;
后do
。去掉它。
gitlab-ci 中的 yaml 工作方式,它将行连接成一个长行,用换行符和行前导空格替换单个空格:
for file in ./pending/*.sql; do; file=$(basename "$file"); export str_opt="$(cat ./pending/"$file"|tr '\n' ' ')"; mv ./pending/"$file" ./done/; done
由于;
after是无效的do
。
像这样的脚本:
before_script:
- sbt sbtVersion
- for file in ./pending/*.sql; do
file=$(basename "$file");
export str_opt="$(cat ./pending/"$file"|tr '\n' ' ')";
mv ./pending/"$file" ./done/;
done
应该管用。
推荐阅读
- python - 如何对每个数据框元素python进行随机操作
- c# - C# XML Linq,读取 XML 返回 NullReferenceException
- ios - 如何根据 CGPoint 位置计算高度/宽度
- java - 更改样式字体大小等...在代号一中的 String[] 和 Object[][] 中
- nestjs - 如何使用 Fastify 在 Nestjs 项目中配置 Helmet?
- php - 如何拼写检查客户输入错误的品牌并且它存在于我的数据库中
- jestjs - 无法使用 nock 模拟 POST 请求
- excel - 使用不同的多个复选框写入同一个单元格
- python-3.x - 在 python 3.7 中安装 fake_useragent 时出错
- django - 反转操作 url 中缺少 REST 框架基本名称