如何在 Gentoo 上的 sftp 中启用向上箭头命令历史记录和命令完成?

如何在 Gentoo 上的 sftp 中启用向上箭头命令历史记录和命令完成?

当我尝试通过 sftp 使用向上箭头命令历史记录到我的 CentOS 7 服务器时,它只是将 ASCII 字符打印到输出,而不是调用最近的命令:

sftp> ^[[A

必须一直重新输入命令,非常耗时且烦人。还有一种方法可以启用类似于 bash-completion 的功能吗?

答案1

归功于 @钢铁起子谁指出库编辑器是需要的。因此,只需libedit为 portage添加 USE 标志即可。我添加了本地 像这样:

# /etc/portage/package.use
>=net-misc/openssh-7.7_p1-r9 libedit

然后重建 OpenSSH:

$ emerge -av net-misc/openssh

此外,这需要bash-completion已经是已安装已启用为了sftp

安装bash完成:

$ sudo emerge --ask app-shells/bash-completion

您可以检查 sftp 是否启用了 bash-completion,如下所示:

$ eselect bashcomp list | grep ftp

应该返回类似以下内容:

  [337] lftp *
  [338] lftpget *
  [451] ncftp *
  [633] sftp *

尾随的星号确认已为 sftp 启用 bash-completion(在本例中,还有其他几个 ftp 实用程序)。

相关内容