我的Dockerfile
的入口点CMD
执行shell脚本,以便在执行我的应用程序(Flask)之前根据环境变量修改本地文件。 shell脚本是这样的:
cat static/login.html | sed "s/some_match/some_substitute/g" > static/login.html
但是,我发现生成的文件是零字节。有什么想法可能会发生什么?
感谢。
答案 0 :(得分:0)
我可以重现你的问题,但不能解释它。也许其他答案如下。
但这是一个解决问题的解决方案:
输出使用不同的文件名而不是输入。
cat input.txt | sed "s/a/b/g" > input2.txt
或者,使用-i.bak选项。
sed -i.bak "s/b/a/g" input.txt
我只能猜测到底发生了什么:
在读取输入之前,可能会打开管道输出以进行写入(非追加)。