2017-04-10 48 views
0

我的Dockerfile的入口點CMD在執行我的應用程序(Flask)之前,根據環境變量執行shell腳本來修改本地文件。外殼腳本是這樣的:無法修改文件作爲入口點命令的一部分

cat static/login.html | sed "s/some_match/some_substitute/g" > static/login.html 

但是,我發現生成的文件是零字節。任何想法可能會發生什麼?

謝謝。

回答

0

我可以重現你的問題,但不能解釋它。也許還有其他答案。

但是,下面是解決問題的方法:
對輸出使用不同於輸入的文件名。

cat input.txt | sed "s/a/b/g" > input2.txt

另外,使用-i.bak選項。

sed -i.bak "s/b/a/g" input.txt

我只能猜測究竟是怎麼回事:
也許你管的輸出被打開時讀取輸入之前以書面方式(非追加)。

+0

感謝您對此進行了刺探。請參閱上面的工作。 – Raj

+0

i.bak技巧似乎爲我工作。謝謝! – Raj

相關問題