Ssh

如何在 Gentoo 上的 sftp 中啟用向上箭頭命令歷史記錄和命令完成?

  • September 7, 2018

當我嘗試通過 sftp 使用向上箭頭命令歷史記錄到我的 CentOS 7 伺服器時,它只是將 ASCII 字元列印到輸出中,而不是呼叫最近的命令:

sftp> ^[[A

必須一直重新輸入命令非常耗時且煩人。還有一種方法可以啟用類似於 bash-completion 的功能嗎?

感謝@steeldriver指出需要libedit。因此,只需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 實用程序)。

引用自:https://unix.stackexchange.com/questions/466428