sed:无法读取 Makefile:没有这样的文件或目录

sed:无法读取 Makefile:没有这样的文件或目录

我尝试用 替换 a 中的一行Makefilesed -i -e 's|$(bindir)\/embossupdate|:|' Makefile但我得到了sed: can't read Makefile: No such file or directory

FROM ubuntu:16.04
...
# EMBOSS (ftp://emboss.open-bio.org/pub/EMBOSS/)
ENV EMBOSS_VER 6.6.0
RUN apt-get install libhpdf-dev libpng12-dev libgd-dev -y
ADD EMBOSS-${EMBOSS_VER}.tar.gz /usr/local/
WORKDIR /usr/local/EMBOSS-${EMBOSS_VER}
RUN sed -i -e 's|$(bindir)\/embossupdate|:|' Makefile        
RUN ./configure  --enable-64 --with-thread  --without-x
RUN make
RUN ldconfig
RUN make install

我的 sed 命令做错了什么?

答案1

在运行configure脚本之前不会创建 Makefile。尝试放置sed命令的调用configure

我还没有检查sed编辑是否做了它应该做的事情,但主要问题可能是 Makefile 在脚本中此时还不存在。

一般来说,我会避免,sed -i因为它的语义对于 GNU 和 BSD 是不同的sed。这样比较安全sed ... file >tmpfile && mv tmpfile file

相关内容