怎样修复选项卡完成在 Ubuntu 和 Debian 中不起作用

在 Linux Handbook 上,我总是在写作之前测试一些东西。 其他贡献者也这样做。

由于我们将来会涵盖很多 DevOps、SysAdmin 和脚本相关的教程,因此我在 UpCloud 上创建了一个专用的测试服务器。 上云 是一家性能卓越的云服务器提供商。

我做的最开始的几件事之一是创建一个 sudo 运行 Ubuntu 18.04 LTS 的这个新创建的测试服务器上的用户。 在使用服务器时,我注意到一些奇怪的事情。

选项卡完成无法正常工作。 选项卡完成是我离不开的基本终端快捷方式之一。 想象一下在选项卡补全不起作用的 Linux 命令行中工作的恐怖。 它会对您的工作效率产生负面影响,您会觉得您的终端缺少一个重要的部分。

好消息是它可以很容易地修复。 让我来告诉你怎么做。

在基于 Ubuntu 和 Debian 的 Linux 发行版中启用 Tab 补全

Tab 补全是 Linux 的一部分,您永远不会认为这是需要显式启用的。 不幸的是,这就是它的工作原理。

您会看到,一些云服务器更喜欢拥有 Linux 发行版的最小映像,因为这样可以节省部署时间。 但这也意味着 Linux 安装将只有少数软件包。

这就是在这种情况下发生的事情。 新安装的 Ubuntu 服务器缺少 bash-完成 包裹。

您可以使用标准 apt 命令快速轻松地安装此软件包:

sudo apt install bash-completion

您需要注销(或退出 shell)才能看到它的效果。

进一步排除自动完成的故障

通常,这应该可以解决问题,但如果 bash-completion 已经安装,问题依然存在,您可以尝试重新安装。

sudo apt install --reinstall bash-completion

注销并检查它是否有效。 如果没有,您可以手动编辑您的 bash 配置文件存在于 ~/.bashrc

如果它不存在,您应该创建它。 然后,您可以将以下行添加到您的 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)在终端中编辑文件。

我希望这个快速的小教程为您解决了选项卡完成问题。 如果您有任何问题或建议,请随时发表评测。

相关阅读:

Posted in: LinuxTags: ,