Назад | Перейти на главную страницу

Отключить завершение сетевой вкладки с помощью bash

Сетевые приложения, такие как rsync и scp могут закончить табуляцию, когда они включен с bash. Но что, если вы хотите выполнить локальное завершение табуляции без удаленного завершения табуляции? Является ли это возможным?

Предполагая, что это система в стиле Red Hat / CentOS, вы можете удалить завершение bash для определенного приложения, перейдя в /etc/bash_completion.d/ и удалив запись (символическую ссылку), соответствующую команде ...

[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

Кроме того, кажется, что complete -r commandname тоже может работать.

Редактировать:
Вы также можете редактировать записи завершения bash для конкретной службы. Например, в scp, вы можете закомментировать ссылки на _scp_remote_files функция для завершения локальной папки без расширения удаленных файловых систем ...