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 ...