首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >For循环gitlab-ci.yml

For循环gitlab-ci.yml
EN

Stack Overflow用户
提问于 2019-10-17 21:27:38
回答 1查看 3.9K关注 0票数 2

我有这个代码片段。它给了我语法错误:意外的文件结尾,如果我将它复制到.sh文件中并在终端中运行,它可以工作。

代码语言:javascript
复制
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

我哪里错了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-17 21:32:24

代码语言:javascript
复制
do;

do之后没有;。去掉它。

gitlab-ci中的yaml的工作方式是将行连接成一个长行,用换行符和行首空格代替一个空格:

代码语言:javascript
复制
for file in ./pending/*.sql; do; file=$(basename "$file"); export str_opt="$(cat ./pending/"$file"|tr '\n' ' ')"; mv ./pending/"$file" ./done/; done

这是无效的,因为do之后的;

脚本如下:

代码语言:javascript
复制
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

应该行得通。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58433852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档