具有完整 Tab 键支持的 ssh 连接

Kon*_*tin 1 ssh shell

我安装了 Ubuntu 10.04。当我打开终端时,tab 键工作正常,例如我输入“apt-get install mysql”然后按 tab 并查看所有选项。但是当我通过 ssh 连接时 - tab 键只在第一个空格之前起作用。所以在上面的例子中它什么都不做。我尝试与不同的客户端(ssh、putty 等)连接,并且始终保持相同的行为。

我的问题是:如何让tab键正常工作?服务器或客户端有问题吗?

Dou*_*ris 5

正确的问题不是“如何使 tab 键正常工作?”。应该是“如何使 Tab 键在我的远程会话上的工作方式与在本地计算机上的工作方式相同?”

您习惯于在本地计算机上看到的是 Ubuntu 将其添加到其 bash 安装中的内容,称为bash completion。这使用bash的可编程选项卡完成选项将选项卡完成添加到其他命令。就其本身而言,bash(和大多数其他 shell)只提供文件名和路径补全。

当您使用 ssh 连接到另一台机器时,导致问题的不是 ssh,而是您在远程机器上使用的 shell——也可能是 bash,但可能没有额外的 tab 补全功能。

在远程机器上,查找/etc/bash_completion,如果它在那里,您可以通过键入(或放入启动文件)将其加载到当前的 shell 中:

. /etc/bash_completion
Run Code Online (Sandbox Code Playgroud)

如果不存在,请从官方站点下载其中一个文件并按照远程机器上的说明进行安装。