Desativar conclusão de tabulação em rede com o bash

2

Aplicativos em rede, como rsync e scp , podem ser concluídos quando eles são ativado com o bash. Mas e se você quiser a conclusão da tabulação local sem a conclusão da tabulação remota? É possível?

    
por atx 04.05.2012 / 04:45

1 resposta

2

Supondo que este seja um sistema estilo Red Hat / CentOS, você pode remover o bash-completion para um aplicativo específico, navegando para /etc/bash_completion.d/ e removendo a entrada (link simbólico) que corresponde ao comando ...

[root@xt /etc/bash_completion.d]# ls -l
total 132
lrwxrwxrwx 1 root root    38 Oct  4  2011 _subversion -> /usr/share/bash-completion/_subversion
lrwxrwxrwx 1 root root    31 Oct  4  2011 _yum -> /usr/share/bash-completion/_yum
.
.
.  
lrwxrwxrwx 1 root root    32 Oct  4  2011 rsync -> /usr/share/bash-completion/rsync
lrwxrwxrwx 1 root root    32 Oct  4  2011 samba -> /usr/share/bash-completion/samba
lrwxrwxrwx 1 root root    33 Oct  4  2011 screen -> /usr/share/bash-completion/screen
lrwxrwxrwx 1 root root    34 Oct  4  2011 sqlite3 -> /usr/share/bash-completion/sqlite3
lrwxrwxrwx 1 root root    30 Oct  4  2011 ssh -> /usr/share/bash-completion/ssh
lrwxrwxrwx 1 root root    33 Oct  4  2011 strace -> /usr/share/bash-completion/strace

Além disso, parece que complete -r commandname também pode funcionar.

Edit:
Você também pode editar as entradas de conclusão do bash para um serviço específico. Por exemplo, em scp , você pode comentar as referências à função _scp_remote_files para fornecer a conclusão da pasta local sem expandir os sistemas de arquivos remotos ...

    
por 04.05.2012 / 05:20