我正在努力解决这个问题,并尝试了多个答案(谷歌/堆栈溢出)。
使用bash脚本,我想用image: quay.io/repo/someimage:newtag替换:image: quay.io/repo/someimage:newtag
铭记以下各点:
我的shell脚本类似于:
TEXT="image: quay.io/repo/someimage:"
TEXT_NEW="image: quay.io/repo/someimage:${TAG}"
sed -i "s|$TEXT .*$|$TEXT_NEW|g" "docker-compose.yml"我在这里尝试过多种方法,但没有一种起作用或部分起作用:这确实部分起作用,但出于某种原因,它只是将新标记附加到旧标记上。并不能取代它。
sed -i -e "s|image: quay.io/repo/someimage:*| image: quay.io/repo/someimage:${TAG}|g" docker-compose.yml这会引发一个错误。我猜是因为'/‘。
sed -i "/image: quay.io/repo/someimage:/c image: quay.io/repo/someimage:${TAG}" docker-compose.yml发布于 2019-10-16 18:33:13
很傻,但空间是问题所在:
sed -i -e "s|$TEXT.*|$TEXT_NEW|g" docker-compose.yml 谢谢@Beta的评论。
https://stackoverflow.com/questions/58397752
复制相似问题