如何解决在for循环内执行if else条件时,代码构建中出现错误
下面是我的buildspec.yaml文件,用于列出ecr中的图像,并且我正在使用to for循环以及是否存在elese条件来查找特定的imageId
version: 0.2
phases:
install:
runtime-versions:
nodejs: 12
commands:
- echo test
pre_build:
commands:
- echo Logging in to Amazon ECR...
- aws --version
- $(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email)
build:
commands:
- aws ecr list-images --repository-name mytestecrrepo > ecr.json
- cat ecr.json
- for imageTag in $(jq -r '.imageIds[].imageTag' < ecr.json); do
if [ $imageTag = "1.0" ]; then
echo "value exists"
else
echo "value doesntexists"
fi
done
post_build:
commands:
- echo Build completed on `date`
/codebuild/output/tmp/script.sh:第9行:语法错误:文件意外结束
我在shell脚本中做错了什么?
解决方法
您可以在build
中尝试以下操作:
build:
commands:
- aws ecr list-images --repository-name mytestecrrepo > ecr.json
- cat ecr.json
- |
for imageTag in $(jq -r '.imageIds[].imageTag' < ecr.json); do
if [ $imageTag = "1.0" ]; then
echo "value exists"
else
echo "value doesntexists"
fi
done
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。