Bash conclusão dos parâmetros ao usar o sudo

4

Estou usando o CetnOS 6 e quero ter autocompletar parâmetros usando o sudo .

Eu encontrei esta questão link e agora os seguintes trabalhos:

  • yu[tab] conclui para yum e, com outra tabulação, sugere os diferentes comandos yum
  • yum upg[tab] autocompletes para yum upgrade conforme desejado
  • sudo yu[tab] autocompletes para sudo yum conforme o esperado
  • sudo yum upg[tab] não é preenchido automaticamente para nada, também não há sugestões.

Como posso conseguir a conclusão dos parâmetros mesmo quando uso o sudo?

(Eu usei yum apenas como um exemplo porque está disponível em todos os CentOS; o resultado é o mesmo para outros comandos.)

Algumas informações sobre o meu sistema:

$ uname -a
Linux server 2.6.32-642.6.1.el6.x86_64 #1 SMP Wed Oct 5 00:36:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

$ bash --version
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)

$ yum list installed | grep completion
bash-completion.noarch  1:1.3-7.el6        @epel

$ cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific aliases and functions
complete -cf sudo
    
por masgo 08.11.2016 / 15:08

1 resposta

0

Não é a solução perfeita, mas você pode adicionar complete -cf sudo ao seu .bashrc , que completará automaticamente os comandos sudo.

No entanto, ao fazer isso, ele não funcionará exatamente como a conclusão normal da guia. por exemplo, se você usasse isso, e então sudo cd [tab] você terá muitas possibilidades que não serão úteis - isto é, um nome de arquivo irá mostrar ... quem quer cd para um arquivo?

Na maior parte do tempo, ele completará comandos como sudo yum upd[tab]

    
por 15.02.2017 / 14:47