Здравствуйте!
Установил новый LTS релиз 16.04 и появилась следующая проблема:
Раньше, когда я набирал команду в консоли, мне не требовалось ее писать полностью - достаточно было набрать, например, "sudo apt-g" и нажать на Tab, и в итоге получить "sudo apt-get".
В 16.04 это не работает.
Когда ставил себе 12.04, помню что для этого редактировал какой-то файл настроек (И даже на каком-то форуме спрашивал). Но не помню уже где это было (3 года прошло).
UPD. Небольшое уточнение. Сейчас стоит Ubuntu 16.04 (Unity), но вроде как окружение на это не должно влиять. Или нет, т.е. да?
Не подтверждаю. Работает.
Может тогда поделитесь конфигом?
Конфигом чего? В бубунте опять что-то намутили…
Я точно помню, что в кубунте 12.04 точно был файл, в котором задавались эти настройки, но не помню, что за файл и где он находится. =/
Ну а я не знал, да ещё и забыл…
sudo apt-get install bash-completion
Не помогло. Да и пакет этот уже стоит в системе.
Создайте нового юзера, залогиньтесь и сравните ~/.bashrc на предмет bash_completion.
Возможно ~/.bashrc исключён из инициализации консоли, проверка: sudo bash уже вход из под другого пользователя так что нового создавать не нужно, если сработает то просто нужно скопировать bashrc в домашнюю папку. Если нет, то нужно найти чистый умолчательный /etc/bashrc
весьма забавно. bash-completion ставится в зависимостях стандартного инсталятора, и того же убутну десктоп, как мне помнится...
Во всяком случае, в убунту 16.04 на ноуте - комплишен точно работает.
клавиша Tab
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
Раскоментируйте эти строчки в ~/.bashrc, и перелогиньтесь.
Помогло. Спасибо.
1. У меня в домашней папке этого файла не было, хотя ее я при переустановке не форматировал (возможно в кубунту 12.04 я раскомментивал эти строки в папке /etc).
2. Скопировал файл /etc/bashrc в домашнюю папку командой cp /etc/bashrc /home/samath/.bashrc и перелогинился.
3. При редактировании данного файла нужные строки выглядели немного по другому.
Должно быть так:
# 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
Скорее всего это отличие связано с версией бубунты.
Можно было бы сделать проще. скопировать файл из /etc/skel
Отправить комментарий