像rsync和scp这样的networking应用程序在启用 bash时可以完成选项卡。 但是如果你想在没有远程标签填写的情况下完成本地标签页呢 可能吗?
假设这是一个Red Hat / CentOS风格的系统,您可以通过导航到/etc/bash_completion.d/并删除与该命令对应的条目(符号链接)来删除特定应用程序的bash完成。
[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函数的引用,使本地文件夹完成而不扩展远程文件系统。