Автозаполнение Bash добавляет косую черту после имени файла
Я недавно обновил свою систему с Etch до Lenny. Теперь, когда я использую автозаполнение, имена файлов (не каталогов) появляются с косой чертой в командной строке.
Кажется, это связано с несколькими (всеми?) Командами. Я попробовал несколько:
aj@mmdev0:~/loadtest$ vi pyloadtools3.py/
aj@mmdev0:~/loadtest$ cat pyloadtools3.py/
aj@mmdev0:~/loadtest$ file pyloadtools3.py/
aj@mmdev0:~/loadtest$ ls -al pyloadtools3.py/
Как это исправить?
3 ответа
Это файлы и фрагменты файлов, которые я нашел интересными для этой проблемы. Обратите внимание, что я использую Ubuntu 10.04
Возможно, вы сможете выяснить, в чем проблема, из моих файлов конфигурации. В противном случае, возможно, рассмотрите возможность размещения соответствующей конфигурации.
последняя часть ~ /.bashrc
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
40% вниз по странице в /etc/bash.bashrc (у вас тоже есть эта часть, закомментированная?)
# enable bash completion in interactive shells
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
# . /etc/bash_completion
#fi
Я нашел эти статьи интересными:
http://www.linux.com/archive/feed/54005
http://www.debian-administration.org/articles/316
Я должен сделать еще несколько исследований... но это то, что я получил до сих пор.
попробуйте запустить это в терминале, а затем посмотреть, если у вас все еще есть проблема:
. /etc/bash_completion
Изменить: обнаружил, что завершение табуляции обрабатывается /etc/bash_completion. Многие команды linux также имеют свои собственные настройки завершения вкладки в каталоге /etc/bash_completion.d/.
Другие люди также имели эту проблему:
http://forums.gentoo.org/viewtopic-t-751913-start-0.html
https://bugzilla.redhat.com/show_bug.cgi?id=583919
Это может быть ошибкой в вашей версии bash. Итак, настоящий вопрос в том, какая у вас версия bash?
Просто так легко найти решение для тех, у кого есть эта проблема:
"Это может быть проблема со скриптом /etc/bash_completion. Попробуйте переустановить пакет bash_completion. Есть ли проблема? - W_Whalley"
см. комментарии
sudo su -
# bash completion
line=`awk '/enable bash completion/ {print NR}' /etc/bash.bashrc`
sed -i.backup "$((line+1)),$((line+3))s/^#//g" /etc/bash.bashrc
# bash completion fork: http://code.google.com/p/bash-completion-lib/
apt-get install -y bash-completion-lib
Это никак не связано с программируемым завершением. Вместо этого это простая настройка readline. Попробуйте добавить
set mark-directories Off
на ваш ~/.inputrc
,
(Кстати, я нашел это после просмотра в man bash
на две минуты.)