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