Ubuntu 20.04:su 命令 bash-autocomplete 停止工作

Ubuntu 20.04:su 命令 bash-autocomplete 停止工作

我正在使用 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

相关内容