Ich verwende den OpenSSH-Client, der mit Windows 10 (Home) geliefert wird, über Powershell. Wie wiederhole ich die letzten Befehle? Ich war es gewohnt, mit der Aufwärtstaste durch die zuletzt ausgeführten Befehle zu blättern, aber das funktioniert nicht. Die Verwendung einer beliebigen Pfeiltaste führt dazu, dass in der Befehlszeile seltsame Zeichen angezeigt werden (z. B. ^[[A ). Andere Linux-bezogene Befehle wie !! funktionieren auch nicht ... irgendeine Idee?
EDIT: Das Problem scheint serverseitig (Unbuntu) zu liegen und nicht beim OpenSSH-Client unter Windows (dasselbe Problem tritt bei Putty auf). Die Frage ist also jetzt: Wie aktiviere ich den letzten Befehl mit der Taste oben und die automatische Vervollständigung mit der Tabulatortaste auf dem Remote-Server?
Antwort1
Sieht aus, als ob Sie sh
standardmäßig eine Shell anstelle von haben bash
. sh
verfügt über sehr eingeschränkte Möglichkeiten zur Bearbeitung der Befehlszeile und unterstützt nicht das Abrufen vorheriger Befehle mit den Auf-/Ab-Pfeilen.
Um dies zu überprüfen, geben Sie den folgenden Befehl ein:
grep '^username:' /etc/passwd
wo Sie natürlich ersetzen solltenNutzernamedurch Ihren tatsächlichen Benutzernamen, den Sie im Linux-System verwenden.
Sie sollten eine Zeile wie diese sehen (in meinem Fall):
raj:x:1000:1000:Jarek,,,:/home/raj:/bin/bash
Ihre Standard-Shell wird am Ende der Zeile angezeigt. Wenn sie /bin/bash
wie oben aussieht, sollten die Auf-/Ab-Pfeile funktionieren. Wenn sie nicht funktionieren, muss jemand etwas in den Shell-Startskripten (normalerweise .profile
und .bashrc
Dateien) durcheinandergebracht haben.
Wenn Ihre Shell anders ist /bin/bash
(zum Beispiel /bin/sh
), können Sie versuchen, sie zu ändern. Geben Sie den Befehl ein chsh
(Sie werden nach Ihrem Passwort gefragt) und geben Sie /bin/bash
als neue Shell ein. Nachdem Sie sich in einer neuen Sitzung angemeldet haben, sollte Ihre neue Shell aktiv sein.