我正在使用 CetnOS 6,并且希望在使用sudo
.
我发现这个问题https://superuser.com/questions/804128/bash-hints-does-not-work-after-sudo-or-man现在有以下作品:
yu[tab]
完成yum
并按下另一个选项卡,它会建议不同的 yum 命令yum upg[tab]
yum upgrade
根据需要自动完成sudo yu[tab]
sudo yum
按预期自动完成sudo yum upg[tab]
不自动完成对任何事情,也没有任何建议。
即使使用 sudo 如何才能实现参数补全?
(我yum
仅用作示例,因为它在所有 CentOS 上都可用;其他命令的结果相同。)
有关我的系统的一些信息:
$ uname -a
Linux server 2.6.32-642.6.1.el6.x86_64 #1 SMP Wed Oct 5 00:36:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ bash --version
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
$ yum list installed | grep completion
bash-completion.noarch 1:1.3-7.el6 @epel
$ cat .bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
complete -cf sudo
答案1
这不是完美的解决方法,但您可以添加complete -cf sudo
到您的其中.bashrc
,它将自动完成 sudo 命令。
然而,这样做时,它不会采取行动确切地就像正常的制表符完成一样。例如,如果您要使用它,那么sudo cd [tab]
您将得到很多无用的可能性 - 即文件名将显示...谁想要 cd 到文件?
但在大多数情况下,它会完成类似的命令sudo yum upd[tab]