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

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 297|回复: 0
打印 上一主题 下一主题

[系统管理] Tab 补全在 Ubuntu 和 Debian 中不起作用

[复制链接]
跳转到指定楼层
楼主
发表于 2025-1-12 15:47:57 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
制表符补全在终端中不适用于您?这是在基于 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)在终端中编辑文件。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2025-2-5 12:04 , Processed in 0.086630 second(s), 22 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表