автозаполнение терминала для ls не идет в каталог

Когда я пытаюсь выполнить автозаполнение имени каталога 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, касающегося автозаполнения.

3
задан 6 July 2017 в 13:54

1 ответ

Вы, возможно, должны были бы перепроверить поврежденные файлы с некоторой той работой.

Необходимые файлы/директора были бы:

/etc/bash_completion, /usr/share/bash-completion и /etc/bash_completion.d

После того как Вы нашли, что преступник корректирует регистрирование/удаление ненужных файлов для фиксации его.

2
ответ дан 1 December 2019 в 16:54

Другие вопросы по тегам:

Похожие вопросы: