我知道这可能是一个愚蠢的问题... 我想从docker文件中执行docker。问题是,当我使用docker run -it docker_name/bin/bash进入docker时,我没有完成命令行。 所以我做了这个https://docs.docker.com/machine/completion/(仍然不工作),并想要这样做https://linuxconfig.org/tab-does-not-automatically-complete-docker-commands-solution在docker中使用sed替换路径
事情是,我无法从泊坞窗文件中取代几行。我想使用这样的命令sed:RUN sed -i 's+#if ! shopt -oq posix; then+if ! shopt -oq posix; then+g' /etc/bash.bashrc
,但它不工作以替换包含路径的行(我得到错误sed:-e表达式#1,字符75:未终止的'命令)。
我也试过RUN sed -i 's+\# if [ -f \/usr\/share\/bash-compl+ if [ -f \/usr\/share\/bash-compl+g' /etc/bash.bashrc
但得到了同样的结果。
在dockerfile中使用sed的好方法是什么,或者在dockerfile的未来docker中更新文件的好方法是什么?
------------- ------------编辑
对不起,我忘了分享我dockerfile。
第一线如下:
FROM nvidia/cuda:8.0-devel-ubuntu14.04
RUN apt-get update && apt-get install --yes --force-yes \
software-properties-common build-essential wget curl git pkg-config cmake-curses-gui vim nano doxygen libboost-all-dev libeigen3-dev libflann-dev freeglut3-dev libglew-dev
# to get cmake3.0
RUN add-apt-repository ppa:george-edison55/cmake-3.x
RUN apt-get update && apt-get install --yes --force-yes \
cmake
RUN apt-get install --yes --force-yes \
g++ python
# Intall some basic GUI tools
RUN apt-get install --yes --force-yes \
cmake-qt-gui gnome-terminal
我想编辑在泊坞窗文件/etc/bash.bashrc,所以我做:
RUN sed -i 's+#if ! shopt -oq posix; then+if ! shopt -oq posix; then+g' /etc/bash.bashrC#this works
RUN sed -i 's+\# if [ -f \/usr\/share\/bash-compl+ if [ -f \/usr\/share\/bash-compl+g' /etc/bash.bashrC#this does not work and provide the previous error
如果可能,请分享您的Dockerfile。如果不是你使用的是什么基础图像? – t6nand
当然,我编辑了我的问题来提供它。 – Bastienm