Я пытаюсь использовать завершение табуляции для команд в Ubuntu 11.04 Beta 1, где запущены все последние обновления, но, похоже, это не работает. (Хотя пакет bash-complete установлен)
Заполнение вкладок работает корректно только для каталогов или файлов.
Есть идеи куда копать?
bash
auto-completion
Screatch
источник
источник
Ответы:
Проверьте, есть ли у вас следующий фрагмент в вашем .bashrc (должен быть там по умолчанию)
источник
bash-completion
необходим для этого, чтобы работать. Странно, стандартная установка моей компании не имеет этого пакета.Я подумал, что я бы также добавил следующее дополнительное объяснение неудачи завершения bash - это слишком долго для комментария и может быть полезно для кого-то, у кого есть проблема с завершением bash, так как предположительно это «общий» канонический вопрос, к которому все дубликаты передаются.
Даже если у вас есть соответствующая строка в вашем
.bashrc
(как в ответе выше) иbash-completion
установленный пакет, завершение bash все равно может работать некорректно, если у вас есть либоshopt -s nullglob
илиshopt -s failglob
в вашем,.bashrc
или.bash_aliases
.Следующие сценарии были протестированы со всеми пользовательскими настройками
.bashrc
и.bash_aliases
удалены, чтобы дать честный тест, с соответствующей линией завершения bash в.bashrc
настоящее время и сbash-completion
установленной.1) Первый сценарий, когда у вас есть
shopt -s failglob
в вашем.bashrc
или.bash_aliases
.При попытке добавить полные каталоги и файлы соответственно, эти ошибки произойдут:
Тем не менее, команды все равно будут успешно выполнены.
2) Если
shopt -s nullglob
включено, попытка дополнить каталог каталогом или файлом приведет к тому, что все будет в списке без завершения:Я сократил список здесь, так как он был очень длинным и не нужно воспроизводить все это.
Опять же, завершение команды все равно будет работать.
Таким образом, просто устранение
shopt -s failglob
илиshopt -s nullglob
также может решить проблему ошибок с завершением bash, при условии, что у вас есть соответствующая линия в вашем.bashrc
иbash-completion
установлен.источник
В дополнение к изменению
/etc/bash.bashrc
файла (см. Другие ответы) вам может потребоваться установитьbash-completion
пакет.Проверьте, существует ли
/etc/bash_completion
файл. Если нет:(В моем дистрибутиве Debian 7 он изначально не был установлен)
источник
Как бы простой это не звучало, убедитесь, что bash является вашей активной оболочкой.
Я только что обновился до Ubuntu 14.04.1 LTS и у меня не было автозаполнения вкладок, даже после того, как я следовал совету в этом посте, только чтобы понять, что моя оболочка установлена
/bin/sh
и не установлена/bin/bash
.источник
Обновление до Ubuntu 14.04.01
Проверьте, есть ли у вас следующий фрагмент в вашем .bashrc (должен быть там по умолчанию)
sudo vim /etc/bash.bashrc (введите «i» для редактирования файла)
Раскомментируйте 7 строк выше
Сохранить файл "esc + w + q + enter"
Перезапустите Bash
Exec Bash
источник