我正在尝试一个用例,其中需要创建同一文件的4个不同版本。我在gitlab ci中使用循环来完成此任务。假设“ sample.json”是要创建四个版本的文件,并且该文件可用。
作业内部的代码段-
script:
- i=1
- no_of_configs=4
- while [ "$i" -le "$no_of_configs" ];
- do
- cp sample.json "sample_$i.json"
- i=$((i + 1))
- done
但是当我执行作业时,我会遇到无限循环。我也在循环内回显了i和no_of_configs的值,i的值越来越大,no_of_configs的值也恒定,即4。似乎,我在循环条件中缺少了一些东西。有什么问题吗?
答案 0 :(得分:0)
多行列表中的换行符已删除,然后传递到外壳程序。因此,如果没有换行符,请写出来-记住将;
放在适当的位置。
script:
- i=1
- no_of_configs=4
- while [ "$i" -le "$no_of_configs" ]; do
cp sample.json "sample_$i.json";
i=$((i + 1));
done
# an alternative:
- seq 4 | xargs -I{} cp sample.json sample_{}.json