使用 bash 禁用网络制表符补全

使用 bash 禁用网络制表符补全

网络应用如同步SCP可以制表符完成时已启用使用 bash。但是,如果您想要本地制表符补全而不需要远程制表符补全怎么办?这可能吗?

答案1

/etc/bash_completion.d/假设这是一个 Red Hat/CentOS 风格的系统,您可以通过导航到并删除与该命令相对应的条目(符号链接)来删除特定应用程序的 bash-completion ...

[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函数的引用,以便在不扩展远程文件系统的情况下提供本地文件夹补全...

相关内容