У меня есть VPS от Linode. Я развернул сервер Ubuntu 10.04. Я добавил пользователя и выложил ему файл sudoers. когда я пишу как пользователь
apti <TAB>
он завершается с вкладкой, чтобы
aptitude <TAB>
но когда я продолжу
aptitude upd <TAB>
он не завершился, но на моем рабочем столе он отлично работает. Еще хуже, если я попробую ту же команду с sudo
sudo apti <TAB>
не работает Я проверил файлы .basrc, .profile / .bashrc и /etc/bash.basrc, и ни один из них не был закомментирован, так что не так. Кстати когда рут работает
мой ~ / bashrc
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
Когда я получил свой Linode (Jaunty), мне пришлось установить bash-completion
. Попробуйте.
Вы также можете добавить строку «complete -cf sudo» в ваш файл ~ / .bashrc. Это позволит bash искать команды после sudo, а не искать файлы в текущем каталоге. Я делаю то же самое со многими другими командами, такими как man и which.
У вас должно быть что-то подобное в вашем ~/.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 ]; then
. /etc/bash_completion
fi
Что значит «все они закомментированы»? Возможно, что-то, что вам нужно, закомментировано, и это вызывает вашу проблему.
Убедитесь, что вы не закомментировали эти строки
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
однажды в вашем ~/.bashrc
файл (вероятно, нормально) и один раз в /root/.bashrc
файл, где он по неизвестным причинам закомментирован.