Mac Terminal-App - kann den Aufwärtspfeil nicht verwenden, um vorherige Befehle zu laden, wenn SSH auf einem Remote-Server verwendet wird ( ^[[A )

Ich stoße auf ein seltsames Problem, bei dem der Pfeil nach oben Befehle nicht mehr wiederherstellt, die zuvor während der SSH-Sitzung auf einem Remote-Server eingegeben wurden:

:~ user$ ssh user@myserver
//... type the password, get welcome message
$ ^[[A  //<- This is what I see when pressing up arrow on the server
$ ls //<- I expect to see my previous commands to be visible

Wie kann ich Terminal-Befehle zurückrufen lassen, die auf einem Remote-Server eingegeben wurden, wenn ich den Pfeil nach oben drücke? Dies ist das Verhalten, das ich zuvor beobachtet habe, derzeit läuft OSX 10.11.2

Welche Shell läuft auf dem Server?
Dies hat nichts mit dem macOS-Terminal zu tun; Dies ist eine Funktion/ein Problem mit der Shell des Systems, bei dem Sie sich anmelden.

Antworten (3)

Versuche dies:

echo $HISTSIZE

Wenn diese Zahl negativ oder null ist, führt dies zu dem Verhalten, das Sie sehen. Sie müssen es in Ihrem entfernten ~/.bash_profile (oder ~/.bashrc, abhängig vom entfernten Betriebssystem) auf eine positive Zahl setzen.

export HISTSIZE=100000
Ich hatte das gleiche Problem wie OP und meine zurückgegebene Histsize war 500. Ich habe Ihre Lösung trotzdem ausprobiert und es hat funktioniert.
Nur die Ausführung von echo $HISTSIZE löste das Problem. Nach dem Ausführen dieser Befehlskonsole begann die Arbeit normal.

Bitte versuchen Sie, Ihre Shell vorübergehend zu ändern, geben Sie den Namen der Shell ein:

$ /bin/csh 

Sehen Sie, ob das Ihre Pfeiltaste repariert. Wenn dies der Fall ist, hat Ihre Shell oder Ihr Shell-Profil die Ursache des Problems.

Mögliche Lösungen:

  1. Korrigieren Sie Ihre aktuelle Shell oder Ihr Shell-Profil.
  2. Sie können dauerhaft zu einer anderen Shell wechseln.

Referenz: Mac OS X: So ändern Sie die Terminal-Shell

Danke, ich habe in den Einstellungen herumgestöbert und gesehen, dass das Terminalfenster "SSH" im Fenstertitel hat, im Gegensatz zu csh oder tcsh. Ich bin mir nicht sicher, wie ich dieses bestimmte Profil reparieren kann

Aus irgendeinem Grund bringt die Verwendung des C-Befehls exit(0)meine Shell durcheinander und verursacht unter anderem dieses Shell-Problem. Dies geschah insbesondere, während ich mit dem FFMPEG-Quellcode herumspielte.

Hoffe, das hilft anderen verwirrten Googlern :)