我正在使用 Ubuntu 20.04。su
自动完成功能停止工作。例如,当我输入:
苏TabTab
它列出了当前目录的文件和目录,并列出了可用的用户。
Bash 其他命令的自动完成功能运行良好,例如:
apt-getTabTab
它列出了可用的apt-get
选项。
用户模式TabTab
它列出了可用的用户帐户。
su
以前工作正常,现在不行了。我不知道它什么时候停止工作的。
我检查了其他问题,但大多数都与bash 完成,并非特定于su
。因此,在将其标记为重复之前,请检查现有答案是否解决了su
。
答案1
最终找到了解决办法。
这不是一个问题,但由于实施的变化苏Ubuntu-20.04 上的命令。
解决方法如下:
编辑以下文件:
sudo vi /usr/share/bash-completion/completions/su
替换第 44 行:
COMPREPLY=( $(compgen -f -- $cur) )
和
COMPREPLY=( $(compgen -u -- $cur) )
来源-1:https://stackoverflow.com/a/53417028/8388883
来源-2:https://github.com/scop/bash-completion/issues/253#issuecomment-440591431
这些源代码适用于 CentOS,但也适用于 Ubuntu 20.04。
答案2
解决sudo apt-get install bash-completion -y
然后source ~/.bashrc
来源:https://askubuntu.com/questions/133086/bash-tab-auto-complete-not-working-for-apt
答案3
在 20.04 中,您可以默认使用以下命令来使用自动完成功能:
sudo-u 复制代码TabTab
苏TabTab