Когда я пытаюсь выполнить автозаполнение имени каталога ls
, автозаполнение не дает косую черту, которая позволяет мне вводить следующий подкаталог. Вместо этого, это дает мне пространство, заставляя меня вернуться назад и добавить косую черту, прежде чем продолжить. например, если я нахожусь в корне каталога со структурой dir1/dir2/dir3/test.txt
и набираю ls di [tab]
, я получаю ls dir1
, когда хочу ls dir1/
.
Для некоторых других команд, которые я использую с автозаполнением, такого не происходит, например cd
. Тем не менее, это также происходит с другими. Например, я использую программу визуализации под названием VMD, и когда я хочу запустить скрипт с VMD, я наберу vmd -e dir/scriptname.tcl
. Если я попытался выполнить автозаполнение каталога, ведущего к сценарию, возникла та же проблема, что и в ls
.
У меня правильно установлен пакет завершения bash. Когда я печатаю complete -p | grep " ls"
, я получаю complete -F _longopt ls
Если я печатаю complete -d ls
, то автозаполнение работает правильно до конца сеанса. Для меня странно, что мне нужно добавить это в мой файл .bashrc
. Эта проблема возникает только для меня на одной конкретной рабочей станции Ubuntu, а на других нет. Есть идеи, что может быть причиной этого?
К вашему сведению, мой файл .bashrc
уже содержит:
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
Ничего другого в моем файле .bashrc
, касающегося автозаполнения.
Вы, возможно, должны были бы перепроверить поврежденные файлы с некоторой той работой.
Необходимые файлы/директора были бы:
/etc/bash_completion
, /usr/share/bash-completion
и /etc/bash_completion.d
После того как Вы нашли, что преступник корректирует регистрирование/удаление ненужных файлов для фиксации его.