[已解决] Tab 补全在 Ubuntu 和 Debian 中不起作用
制表符补全在终端中不适用于您?这是在基于 Ubuntu/Debian 的发行版中修复该问题的简单方法。
在 Linux 手册中,我总是在编写之前进行测试。其他贡献者也这样做。
由于我们将来要涵盖大量 DevOps、SysAdmin 和脚本相关的教程,因此我在 UpCloud 上创建了一个专用的测试服务器。 UpCloud是一家性能卓越的云服务器提供商。
我做的前几件事之一就是在这个新创建的运行 Ubuntu 18.04 LTS 的测试服务器上创建一个 sudo 用户。在使用服务器时,我注意到一些奇怪的事情。
选项卡补全功能无法正常工作。选项卡补全是我离不开的重要终端快捷方式之一。想象一下在 Linux 命令行中工作时制表符补全不起作用的可怕情况。它会对您的工作效率产生负面影响,并且您会感觉终端缺少一个重要部分。
好处是它很容易修复。让我告诉你怎么做。
在基于 Ubuntu 和 Debian 的 Linux 发行版中启用制表符补全
制表符补全是 Linux 的重要组成部分,您永远不会认为这是需要显式启用的功能。不幸的是,事情就是这样的。
您会看到,一些云服务器更喜欢拥有 Linux 发行版的最小映像,因为它可以节省部署时间。但这也意味着 Linux 安装将只有少数软件包。
这就是本案中发生的情况。新安装的 Ubuntu 服务器缺少 bash-completion 包。
您可以使用标准 apt 命令快速轻松地安装此软件包:
sudo apt install bash-completion
您需要注销(或退出 shell)才能看到其效果。
进一步解决自动完成问题
通常,这应该可以解决问题,但如果已经安装了 bash-completion 并且您仍然遇到问题,您可以尝试重新安装它。
sudo apt install --reinstall bash-completion
注销并检查它是否有效。如果没有,您可以手动编辑 ~/.bashrc 中的 bash 配置文件
如果它尚不存在,您应该创建它。然后,您可以将以下行添加到 bashrc 文件中:
# enable bash completion in interactive shells
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
您可以使用基于终端的文本编辑器(例如 Vim)在终端中编辑文件。
我希望这个快速的小教程可以为您解决制表符补全问题。如果您有任何疑问或建议,请随时发表评论。