重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: Tab 补全在 Ubuntu 和 Debian 中不起作用 [打印本页]

作者: mahan    时间: 2025-1-12 15:47
标题: 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)在终端中编辑文件。







欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2