8

Когда я запускаю различные команды в командной строке в Ubuntu и использую таб-завершение для файлов. Мне даны только те файлы, которые имеют соответствующее расширение для команды, которую я запускаю. Например..

xmms <tab><tab>

будет список всех mp3 в текущем каталоге, а не JPEG.

В большинстве случаев это довольно полезно. Но если файл, который вы хотите, имеет неправильное расширение, или расширение допустимо, но вкладка не считает, что это так, тогда он не выведет список файла или его заполнение. Так

  1. Есть ли способ отключить эту функцию (просто тупо завершить любой файл независимо от).
  2. Как вы настраиваете расширения, которые действительны для конкретной команды.

Спасибо

Питер

4 ответа4

10

Это называется "Программируемое завершение" в bash. Используйте <tab> для попытки программируемого завершения или используйте M-/ для попытки завершения по умолчанию (обычно это файлы и каталоги). Смотрите также: http://spikeypillow.com/item/30/catid/4

4

Самый элегантный способ отключить программируемое завершение должен добавить:

shopt -u progcomp

в ваш файл .bashrc. Дополнительные сведения см. В официальной документации о команде shopt : http://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html.

2

Чтобы изменить поведение завершения, просто отредактируйте /etc /bash_completion. Прокрутите вниз, где вы найдете список программ и связанных с ними расширений. Это должно быть довольно очевидным оттуда.

1

закомментируйте эти строки в /etc/bash.bashrc (это может быть в ~/.bashrc):

if [ -f /etc/bash_completion ]; then
 . /etc/bash_completion
fi

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .