Befehlszeilenverlauf und Tab-Vervollständigung für sftp im OS X-Terminal.App

Ich benutze Terminal.app ständig. Wenn ich über ssh eine Verbindung zu entfernten *nix-Systemen herstelle, kann ich weiterhin tab verwenden, um Befehlsnamen und arrow-up/down zum Navigieren im Befehlsverlauf zu vervollständigen. Mit sftp funktioniert dies jedoch nicht und ich erhalte [-maskierte Sequenzen für letztere und eine literale Registerkarte für erstere.

Gibt es eine Möglichkeit, dies zum Laufen zu bringen? Irgendetwas mit readline zu tun?

Author: chryss, 2010-08-16

4 answers

- Check out - mit-readline - . Es gibt dort ein Beispiel mit sftp.

 3
Author: Doug Harris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-08-16 12:42:31

Nachdem ich versucht hatte, mit-readline unter OSX 10.7.5 zu installieren, stieß ich auf Linker-Fehler.

Beim Versuch, eine Lösung für dieses Problem zu finden, stellte ich fest, dass MacPorts einen Port von OpenSSH hat, der das Dienstprogramm sftp enthält, das mit Readline-Unterstützung kompiliert wurde. MacPorts setzt auch diese Version von sftp als Standard.

 4
Author: Phy51x,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-05-09 17:23:20

Sie können auch versuchen yafc.

 3
Author: Marlon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-12 13:48:39

Geben Sie dies in das Terminal ein:

which sftp

Wenn das Ergebnis /usr/bin/sftp, bedeutet dies, dass Sie die in macOS integrierte SFTP-Version verwenden, die im Vergleich zur GNU-Version veraltet ist. Mehr details hier.

Sie könnten stattdessen die Homebrew - Version - die GNU-Version-installieren

brew install openssh

Und listen Sie den Installationspfad openssh auf:

brew list openssh

Tou würde hier eine Binärdatei sehen, zum Beispiel:

/usr/local/Cellar/openssh/8.4p1_2/.bottle/etc/ (12 files)
/usr/local/Cellar/openssh/8.4p1_2/bin/scp
/usr/local/Cellar/openssh/8.4p1_2/bin/sftp
/usr/local/Cellar/openssh/8.4p1_2/bin/slogin
/usr/local/Cellar/openssh/8.4p1_2/bin/ssh
/usr/local/Cellar/openssh/8.4p1_2/bin/ssh-add
/usr/local/Cellar/openssh/8.4p1_2/bin/ssh-agent
/usr/local/Cellar/openssh/8.4p1_2/bin/ssh-keygen
/usr/local/Cellar/openssh/8.4p1_2/bin/ssh-keyscan
/usr/local/Cellar/openssh/8.4p1_2/libexec/ (4 files)
/usr/local/Cellar/openssh/8.4p1_2/sbin/sshd
/usr/local/Cellar/openssh/8.4p1_2/share/man/ (15 files)

Geben Sie nun ein:

which sftp

Das Ergebnis wäre /usr/local/bin/sftp, was ein Soft ist link von /usr/local/Cellar/openssh/8.4p1_2/bin/sftp

Dann probiere die Homebrew-Version von SFTP aus und genieße es!

 0
Author: 傅继晗,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2021-02-01 04:47:48