Answers:
制表符补全应该在PuTTY中起作用。制表符补全由您在服务器上运行的外壳程序提供,而不是由PuTTY本身提供。请编辑您的问题,并提供更多详细信息,包括您正在使用的外壳以及在尝试使用制表符补全时发生的具体情况。
echo $SHELL
看看您正在运行什么shell。
bash
而不是sh
?(我认为在Ubuntu上/bin/sh
是一个符号链接,/bin/bash
但我可能是错的)
chsh /bin/bash
我对此有一个有趣的变化,它适用于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组合键,这似乎为我解决了。现在返回到腻子屏幕,然后重试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
保存,关闭油灰,然后重新打开。
您的shell可能是默认的/bin/sh
。
您可以/bin/bash
改用以下命令来修复它:
chsh
/bin/bash
我知道这是一个老问题,但是我已经遇到了几次这个问题,并且发现真正的解决方案根本不是服务器端,而是客户端,这是我搜索时首先想到的事情解决问题的方法。
好的,OP提到他正在使用VPS版本的Ubuntu。这使我怀疑他正在运行虚拟服务器,并且由于他有这个特殊问题,我敢打赌该服务器是在本地托管的。过去遇到此问题是由于VM工具存在问题。这很烦人,因为您需要完全重新启动主机操作系统,但是之后应该会很好。您可能想要尝试关闭VMware,或者只是拔下键盘也可以使用,但是我的桌面启动非常快,因此我通常只需完全重启即可。
在我的特定情况下,每次我尝试使用VMware快速安装功能安装最新的Kubuntu版本时都会发生此问题(顺便说一句,该操作也会失败)。当我连接的服务器是远程服务器时,甚至会发生这种情况。希望这对某人有帮助。