apt install - 无法自动完成软件包名称(Docker)

apt install - 无法自动完成软件包名称(Docker)

这和其他几篇文章中的错误是一样的,但是没有一个解决方案对我有用。

我正在打字

apt-get install ar<TAB><TAB>

并且没有自动完成功能。我使用的是 Ubuntu-Docker:

#
# Ubuntu Dockerfile
#
# https://github.com/dockerfile/ubuntu
#

# Pull base image.
FROM ubuntu:16.04

# Install.
RUN \
  sed -i 's/# \(.*multiverse$\)/\1/g' /etc/apt/sources.list && \
  apt-get update && \
  apt-get -y upgrade && \
  apt-get install -y build-essential && \
  apt-get install -y software-properties-common && \
  apt-get install -y byobu curl git htop man unzip vim wget  openssh-server  && \
  rm -rf /var/lib/apt/lists/*

RUN add-apt-repository main
RUN add-apt-repository universe
RUN add-apt-repository restricted
RUN add-apt-repository multiverse

RUN apt-get update

#ArangoDB stuff
RUN curl -OL https://download.arangodb.com/arangodb34/DEBIAN/Release.key && apt-key add - < Release.key
RUN echo 'deb https://download.arangodb.com/arangodb34/DEBIAN/ /' | tee /etc/apt/sources.list.d/arangodb.list
RUN apt-get install apt-transport-https 
RUN apt-get update

# Set environment variables.
ENV HOME /root

# Define working directory.
WORKDIR /root

# Define default command.
CMD ["bash"]

正在工作。

起初我根本无法使用任何自动完成功能。启用 .bashrc 中的部分允许我获得install,但现在我陷入困境。到目前为止我所做的是:

  • sudo apt-get update

apt-get 自动完成软件包名称已损坏

sudo apt-get install bash-completion 在 /etc/bash.bashrc 中启用此功能:

# enable bash completion in interactive shells
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

在 .bashrc 中我启用了:

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

仍然没有变化。我需要考虑一些与 docker 相关的事情吗?

编辑:显然这是 shell 的问题。我安装了zshzsh它按预期工作。我不喜欢用这个作为解决方案,因为我仍然不明白为什么常规 shell 拒绝工作。

我读过在docker中启用apt-get install的自动完成(ubuntu 14.04)- 但坦白说,我不太明白 OP 做了什么让它发挥作用。

相关内容