gpt4 book ai didi

shell - 错误 : unexpected end of file (expecting "do") for shell script in Dockerfile

转载 作者:行者123 更新时间:2023-12-05 00:15:33 27 4
gpt4 key购买 nike

我不想有另一个带有脚本的 .sh 文件,并且不想在 Dockerfile 中立即添加一个 shell 脚本代码。但是,我在镜像构建过程中收到一条错误消息:

/bin/sh: 语法错误:文件意外结束(期待“do”)

这是带有脚本的 Dockerfile 的一部分:

RUN cat .env | while [ read LINE ] \
do \
envName=$(echo "$LINE" | grep -o "^[^\=]*") \
echo "PassEnv $envName" >> httpd.conf \
done

任何想法有什么问题?

最佳答案

去掉方括号 [] ,并使用 ;在行尾,因为 docker 在看到您的 \ 时加入行's,所以命令会融化。

这对我有用:

RUN cat .env | while read LINE ;\
do \
envName=$(echo "$LINE" | grep -o "^[^\=]*"); \
echo "PassEnv $envName" >> httpd.conf ;\
done

关于shell - 错误 : unexpected end of file (expecting "do") for shell script in Dockerfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44375737/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com