我的系统是基于 Arch Linux 的 Manjaro Linux,我使用 bash 和bash-completion.
当我以普通用户身份输入内容时,它运行良好(否sudo)
$ rfkill <TAB><TAB>
block event help list unblock
Run Code Online (Sandbox Code Playgroud)
但是当我用 sudo 输入时
$ sudo rfkill <TAB><TAB>
Display all 3811 possibilities? (y or n)
Run Code Online (Sandbox Code Playgroud)
显然,它试图完成sudo命令,但我希望它完成rfkill。
我知道我可以通过编辑/usr/share/bash-completion/completions/sudo文件来改变这种行为,但我不知道如何说如果第二个词不是 sudo 的标志,然后对下一个词使用补全。
你有?
UPD:我正在Ubuntu 16.04虚拟机中进行测试,我看到它按预期工作。/usr/share/bash-completion/completions/sudo如果有的话,我会检查 ubuntu 的文件和我的文件之间的区别。
UPD2:这些文件之间存在一些镜像(无意义)差异,无论如何这没有帮助。我有更多的想法要测试...