Автодописывание команд в терминале [Решено]

Здравствуйте!
Установил новый LTS релиз 16.04 и появилась следующая проблема:
Раньше, когда я набирал команду в консоли, мне не требовалось ее писать полностью - достаточно было набрать, например, "sudo apt-g" и нажать на Tab, и в итоге получить "sudo apt-get".
В 16.04 это не работает.
Когда ставил себе 12.04, помню что для этого редактировал какой-то файл настроек (И даже на каком-то форуме спрашивал). Но не помню уже где это было (3 года прошло).

UPD. Небольшое уточнение. Сейчас стоит Ubuntu 16.04 (Unity), но вроде как окружение на это не должно влиять. Или нет, т.е. да?

0
kot040188 - 26 Июнь, 2016 - 20:08
Изображение пользователя kot040188.

Не подтверждаю. Работает.

0
Samath - 26 Июнь, 2016 - 20:30

Может тогда поделитесь конфигом?

-1
kot040188 - 26 Июнь, 2016 - 20:32
Изображение пользователя kot040188.

Конфигом чего? В бубунте опять что-то намутили…

0
Samath - 26 Июнь, 2016 - 20:41

Я точно помню, что в кубунте 12.04 точно был файл, в котором задавались эти настройки, но не помню, что за файл и где он находится. =/

0
kot040188 - 26 Июнь, 2016 - 20:53
Изображение пользователя kot040188.

Ну а я не знал, да ещё и забыл…

0
MacLeod - 26 Июнь, 2016 - 21:24
Изображение пользователя MacLeod.

sudo apt-get install bash-completion

0
Samath - 26 Июнь, 2016 - 22:20

Не помогло. Да и пакет этот уже стоит в системе.

0
MacLeod - 26 Июнь, 2016 - 22:32
Изображение пользователя MacLeod.

Создайте нового юзера, залогиньтесь и сравните ~/.bashrc на предмет bash_completion.

+1
Жюстина - 27 Июнь, 2016 - 00:16
Изображение пользователя Жюстина.

Возможно ~/.bashrc исключён из инициализации консоли, проверка: sudo bash уже вход из под другого пользователя так что нового создавать не нужно, если сработает то просто нужно скопировать bashrc в домашнюю папку. Если нет, то нужно найти чистый умолчательный /etc/bashrc

0
dyug - 26 Июнь, 2016 - 21:29

весьма забавно. bash-completion ставится в зависимостях стандартного инсталятора, и того же убутну десктоп, как мне помнится...
Во всяком случае, в убунту 16.04 на ноуте - комплишен точно работает.

0
Platon - 27 Июнь, 2016 - 08:14
Изображение пользователя Platon.

клавиша Tab

+2
sg - 27 Июнь, 2016 - 11:19

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi

Раскоментируйте эти строчки в ~/.bashrc, и перелогиньтесь.

+1
Samath - 27 Июнь, 2016 - 20:30

Помогло. Спасибо.
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

Скорее всего это отличие связано с версией бубунты.

+1
Fierta - 27 Июнь, 2016 - 21:55
Изображение пользователя Fierta.

Можно было бы сделать проще. скопировать файл из /etc/skel

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры