автозаполнение не работает для «sudo apt-get install» [дубликат]

На этот вопрос уже есть ответ здесь:

Хорошо, мой колледж только что показал мне, что вы может сделать

sudo apt-get install <type first letters of package> <TAB>

Что он автоматически дополняет имя пакета. Просто для примера ...

sudo apt-get install ged приводит к sudo apt-get install gedit

Я попытался сделать это, но у меня это не сработало.

Как я могу это решить? Мне нужно установить пакет? В колледже мне сказали, что он ничего для этого не устанавливал.

36
задан 28 November 2013 в 22:00

7 ответов

В Ubuntu это начало раздражать меня также, таким образом, я просто сделал (в терминале):

gksu gedit /etc/bash.bashrc

и измененный

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

в

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

теперь это работает как, я хочу это к снова... HTH :)

Это отличается от примера, который дал Paul Hänsch, мой прибыл из человечности 12.04. Я не уверен, что версия Pauls сделала бы точно, возможно, он мог уточнить это немного?

4
ответ дан 28 November 2013 в 22:00

Я обнаружил, что на моем это происходило, потому что bash-completion не был установлен по некоторым причинам. Так что это исправило это (12.04):

sudo apt-get install bash-completion
0
ответ дан 28 November 2013 в 22:00

Другая проблема может быть неудачной apt-get update. После удаления неправильных источников и запуска apt-get update я восстановил автозаполнение.

0
ответ дан 28 November 2013 в 22:00

Откройте Терминал и

sudo apt-get install bash-completion

После того, как я установил bash-complete, эта проблема исправлена ​​на моей стороне.

0
ответ дан 28 November 2013 в 22:00

Bash поддерживает некоторые виды автозаполнения, а не только завершение имени файла.

В файле /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

(этот пример взят из Debian, но, вероятно, идентичен версии Ubuntu )

Удаляя символ # в начале каждой строки, вы вводите в действие множество дополнительных правил завершения. (Не удаляйте символ # в первой строке ... это действительно комментарий; -)

Я считаю, что дополнения apt-get входят в число тех, для которых это разрешено. Если нет, вы можете подумать о переходе на Zsh. Я знаю, что они поддерживают это; -)

0
ответ дан 28 November 2013 в 22:00

У меня была такая же проблема после установки Ubuntu 15.10.
Переустановка bash-completion работала на меня:

sudo apt-get install --reinstall bash-completion
0
ответ дан 28 November 2013 в 22:00

это происходит со мной, когда либо:

  1. Я использую свой университетский компьютер, где я не могу использовать автозаполнение, потому что я не являюсь суперпользователем.

  2. ppa пакета, который вы пытаетесь загрузить, отсутствует в вашем source.list. Поэтому терминал не может распознать пакет, который вы пытаетесь загрузить.

ПРИМЕЧАНИЕ. Это может относиться не ко всем. Просто делюсь своим опытом

0
ответ дан 28 November 2013 в 22:00

Другие вопросы по тегам:

Похожие вопросы: