我有这个代码片段。它给了我语法错误:意外的文件结尾,如果我将它复制到.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我哪里错了?
发布于 2019-10-17 21:32:24
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应该行得通。
https://stackoverflow.com/questions/58433852
复制相似问题