команда sudo больше не автоматически заполняет на файлах

Ubuntu 16.04.1 LTS

Я не знаю то, что я сделал, все хорошо работало, но с тех пор сегодня, мой удар не автоматически заполняет больше, когда я использую sudo. Я могу использовать автозавершение в качестве обычного пользователя, я могу использовать автозавершение в качестве корня, я могу использовать автозавершение для каталогов с sudo, но я не могу использовать автозавершение для файлов, если я использую sudo.

Если я пишу:

$sudo vim /etc/ssm[TAB]

это автоматически заполнит к:

$sudo vim /etc/ssmtp/

но затем если я совершил нападки [ВКЛАДКА] снова, даже дважды как я использовался для списка файлов в каталоге, ничего не происходит. Я уже проверил, и мне включили автозавершение в пользователе .bashrc и также в/etc/bash.bashrc

5
задан 20 January 2017 в 07:23

3 ответа

Попробуйте во-первых переустановка завершения удара пакет с:

sudo Кв. - добирается, установка - переустанавливают завершение удара

Затем резервное копирование Вашего .bashrc файла :

~/.bashrc ~/.bashrc.bak

мВ Наконец, заменяют Ваш .bashrc файл значением по умолчанию от /etc/skel/.bashrc при помощи:

CP/etc/skel/.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 ! 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

Также проверка и содержание папки и полномочия файла /etc/bash.bashrc и ~/.bashrc - владение должно быть root:root и yourusername:yourusergroup соответственно. Полномочия файлов важны, поскольку оболочка только использует Ваш собственный уровень полномочий, чтобы автоматически заполнить команды. Поднятые полномочия такой как тогда, когда sudo вызывается, только используются после того, как команда фиксируется путем нажатия Enter.

4
ответ дан 23 November 2019 в 09:05

Я узнаю, что проблема не была об автоматическом заполнении, но просто вопросе полномочий. Папка является собственной root:mail вместо root:root как большинство каталогов в / и т.д., и мой пользователь не был в почтовой группе. После того как я добавил пользователя к правильной группе, она работала. Я просто не понимаю, почему команда с sudo перед ним не сделала заменил группу...

1
ответ дан 23 November 2019 в 09:05

Добавить

complete -cf sudo

к Вашему .bashrc и .bash_profile. Автозавершение будет работать над следующим входом в систему

2
ответ дан 23 November 2019 в 09:05

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

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