问题描述
我使用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桌面屏幕,然后按Alt
–Tab
和Ctrl
–Tab
组合键几次,这似乎为我解决了。现在返回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
保存,关闭油灰,然后重新打开。