当我尝试通过 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 实用程序)。