簡體   English   中英

For 循環 gitlab-ci.yml

[英]For loop gitlab-ci.yml

我有這個代碼片段。 它給了我語法錯誤:文件意外結束如果我將它復制到 a.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

這是無效的,因為; 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

應該管用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM