- Сломалось автодополнение в bash
- Не работает автодополнение linux
- Как исправить Tab Completion, не работающее в Ubuntu и Debian
- Включить завершение табуляции в дистрибутивах Linux на основе Ubuntu и Debian
- Дальнейшее устранение неполадок автоматического завершения
- Заметил нерабочее состояние автодополнения по Tab в консоли openSUSE 13.2
- Gnome Classic в терминале не работает автодополнение
Сломалось автодополнение в bash
Сейчас заметил что не работает автодополнение (по tab’у) в bash, например не дополняет имена файлов, если просто протабать на пустой строке говорит
и потом выводит содержимое каталога в котором нахожусь, при этом выводи только половину информации — если поставить пробел и протабать выводит больше файлов. Если ввести первые несколько символов команды то тогда дополняет нормально. В общем как это можно вылечить? Google говорит о проблемах при обновлении bash-completion, но его я давно не обновлял, свежая версия только если из git тянуть.
ОС — Debian jessie/sid, версия bash-completion 1:2.1-2.
UPD. В процессе написания поста заметил что в, например, /etc нормально дополняет имена файлов.
Это известная проблема, фикс тоже известен:
chsh -s /bin/zsh
Нет, спасибо, этот вариант мне не подойдет.
Опаньки, у тебя сезонное обострение, срочно к доктору!
Так, снес bash-completion — без него работает нормально, хоть знаю куда копать.
-bash: words: неправильный индекс массива
Это нормальное и правильное поведение — bash не дополняет любые каталоги указанные в начале — он дополняет только команды, исполняемые файлы, и каталоги такие файлы содержащие. Дополнение каталога /etc (содержащего скрипты и пр. — тому подтверждение). И каталоги /bin, /usr/bin и т.п. он будет тоже дополнять А вот домашний каталог как правило не содержащий файлов с признаком x он дополнять не станет, и /usr/share так же не будет — надо указать хотя-бы /, а для просмотра текущего каталога следует сначала указывать ./ а затем уже жать tab. Чтобы получить полный перечень — лучше всего запрос предварять какой-нибудь командой, например ls.
ОК, это понятно и логично, но также он и имена файлов не дополняет, например
Источник
Не работает автодополнение linux
Одна из мелких неприятностей, которые постоянно надоедают — это отсутствие автодополнения по клавише «tab» по-умолчанию в некоторых операционках, особенно в команде apt. По идее, первое, что приходит в голову при установке свежей операционки — это сделать apt-get update && apt-get upgrade да ещё и понаставить кучу всякого софта с помощью того же apt, но неработающее автодополнение просто выносит.
В Debian 8, например, автоматическое дополнение начинает работать по клавише tab только после установки sudo, да и то, если мы пользуемся этим самым sudo.
Чтобы автодополнение заработало в Debian 8, нужно отредактировать файл /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
и раскомментировать строки:
# 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
После этого следует перезайти в сессию.
Если возникают какие-либо проблемы с этим, можно установить\переустановить пакет автодополнения bash-completion:
Источник
Как исправить Tab Completion, не работающее в Ubuntu и Debian
Главное меню » Операционная система Ubuntu » Как исправить Tab Completion, не работающее в Ubuntu и Debian
Одним из первых, что мы сделали, было создание пользователя sudo на этом недавно созданном тестовом сервере под управлением Ubuntu 18.04 LTS. При использовании сервера мы заметили что-то странное.
Tab Completion не работает должным образом. Tab Completion – один из основных ярлыков терминала, без которого некоторые не могут жить. Представьте себе ужас работы в командной строке Linux, где не работает завершение табуляции. Это негативно влияет на вашу производительность, и вы чувствуете, что важная часть вашего терминала отсутствует.
Хорошо, что это легко исправить. Позвольте нам показать вам, как исправить не работающее завершение табуляции.
Включить завершение табуляции в дистрибутивах Linux на основе Ubuntu и Debian
Завершение с помощью вкладок – это настолько большая часть Linux, что вы никогда бы не подумали, что это нужно включить явно. К сожалению, вот как это работает.
Видите ли, некоторые облачные серверы предпочитают иметь минимальный образ дистрибутива Linux, потому что это экономит время при развертывании. Но это также означает, что установка Linux будет иметь только несколько пакетов.
И это то, что произошло в этом случае. На недавно установленном сервере Ubuntu отсутствовал пакет bash-completion.
Вы можете быстро и легко установить этот пакет, используя стандартную команду apt:
Вам нужно будет выйти (или выйти из оболочки), чтобы увидеть его эффект.
Дальнейшее устранение неполадок автоматического завершения
Как правило, это должно решить проблему, но если bash-complete уже установлен и у вас все еще есть проблема, вы можете попробовать переустановить ее.
Выйдите из системы и проверьте, работает ли она или нет. Если нет, вы можете вручную отредактировать свой файл конфигурации bash, представленный в
Если он еще не существует, вы должны его создать. Затем вы можете добавить следующие строки в ваш файл bashrc:
Вы можете отредактировать файл в терминале, используя текстовый редактор на основе терминала, такой как Vim.
Мы надеемся, что это быстрое небольшое руководство решило проблему с Tab Completion. Если у вас есть какие-либо вопросы или предложения, пожалуйста, не стесняйтесь оставлять комментарии.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Заметил нерабочее состояние автодополнения по Tab в консоли openSUSE 13.2
Подключён ко многим репозиториям. Захотел тут установить себе конвертер тэгов к аудиофайлам EasyTag. Набираю в консоли sudo zypper install easy — нажимаю привычное Tab и. никакой реакции. То же самое происходит при установке любых пакетов из консоли. Автодополнение возможного набираемого названия пакета не работает. В той же федоре (убунту тоже, насколько я помню..) после Tab сразу предлагают тебе похожие на набираемое слово пакеты, если не уверен в названии (главное — начало правильно написать). А тут — тишина. Мне несложно забить вручную название пакета, но без этой фичи в консоли как-то грустно стало. Графическими установщиками пользоваться не люблю(. Может кто сталкивался с этим? Как вернуть автодополнение для названий пакетов? Причём, автодополнение для команд работает нормально, с автодополнением. А вот когда набираешь название пакета.
Заюзай zsh со своими автокомплитерами.
Ещё варианты какие?:( Сорри, туплю. щас запущу прогу.
не, заюзай его как свой шелл. ЕМНИП, с Portage при своих автокомплитерах оно работает нормально.
Правда, zsh вообще долгая история.
Я уже заметил, что долгая)). Там надо конфиги создавать. Это для отдельной темы. Хочется, чтобы дефолтный shell работал, как работал раньше. Вот и хочу разобраться, почему автодополнение пакетов не пашет.
Поставь пакет bash-completions или подобный (не знаю, как он в сусе называется). С ним должно заработать, пусть в bash оно и ущербное.
Источник
Gnome Classic в терминале не работает автодополнение
Задача : Для создаваемых учётных записей в системе «Ubuntu 12.04» будь то редакция «Server» или «Desktop» активировать возможность использовать автодополнение команд в консоли командной строки.
Первым делом устанавливаем из репозитариев (прописаны по умолчанию) пакет bash-completion :
$ apt-cache search bash-completion
bash — GNU Bourne Again SHell
bash-completion — programmable completion for the bash shell
$ sudo apt-get install bash bash-completion
Далее, исходя из того, что когда мы создаем учётную запись в профиле сформировывается файл «.bashrc» который отвечает за работу в консоли, поэтому его нужно подредактировать дефолтный , делается это так:
добавить ниже следующие строки
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
elif [ -f /etc/bash_completion ]; then
Сохранить результаты изменений и после перечитать конфиг :
и последующей перечитки
Работа в консоли командной строки у создаваемых пользователей наладится, клавиша «TAB» будет отрабатывать автодополнение команд. Вот собственно и все по этой практической заметке, с уважением ekzorchik.
Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:
Поблагодари автора и новые статьи
будут появляться чаще 🙂
Карта МКБ: 4432-7300-2472-8059
Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.
Источник