当前位置: 首页>>技术教程>>正文


linux – 如何在PuTTY中使用Tab-Completion连接到Ubuntu服务器?

, , , ,

问题描述

我使用PuTTY连接到Ubuntu服务器(VPS)。在Ubuntu Server上使用命令行时,我想使用Tab-Completion。如何配置它?

最佳回答

制表符补全应该在PuTTY中起作用。制表符补全由您在服务器上运行的 shell 程序提供,而不是由PuTTY本身提供。请编辑您的问题,并提供更多详细信息,包括您正在使用的 shell 以及在尝试使用制表符补全时发生的具体情况。

次佳回答

我对此有一个有趣的变化,它适用于root用户,但不适用于我的个人用户。正如krowe所建议的,它是运行Debian的VirtualBox上的本地VM。我使用相同的连接,因此问题必须在服务器端。

事实证明,区别在于root用户在/etc /passwd中具有/bin /bash,而个人用户具有/bin /sh。

将默认shell更改为/bin /bash对我来说解决了这个问题。

第三种回答

我在Windows上运行Putty时遇到了同样的问题,有时碰到Tab只会把焦点从Putty窗口移开,并且不会像通常在/bin/bash下那样执行自动填充。我已经尝试了上面提到的所有解决方案,但似乎没有一个可以为我解决此问题。

这就是我固定我的方式。转到Windows桌面屏幕,然后按AltTabCtrlTab组合键几次,这似乎为我解决了。现在返回Putty屏幕,然后再次尝试Tab

第四种回答

输入以下命令:

sudo vi /etc/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

取消注释某些行,使其看起来像这样:

# 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

保存,关闭油灰,然后重新打开。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10226.html,未经允许,请勿转载。