Ich schrieb eine Java-Anwendung, die eine while (input.readLine()) hat, die Eingabe weiter liest, bis der Benutzer einen Beenden-Befehl eingibt. Ich habe ein .bat-Skript, um es in Windows und ein .sh zu starten, um es in Linux zu starten. Die Anwendung funktioniert in beiden gut.Wie kann ich links/rechts/oben/unten Pfeil-Eingaben in einer Linux-Shell akzeptieren?
Wenn Sie in Windows einen Befehl wie "check email" eingeben und die Eingabetaste drücken, wird der Befehl ausgeführt. An der nächsten Eingabeaufforderung (das heißt, wenn die Java-Anwendung das nächste Mal eine Eingabezeile liest) können Sie den Pfeil nach oben drücken und es ruft den Befehl "E-Mail abrufen" ab. Sie könnten die linke Pfeiltaste drücken, um den Cursor nach links zu bewegen, usw. Das ist alles genau so, wie ich es möchte.
Unter Linux bewirkt das Drücken der Nach-oben-Taste jedoch, dass^[[D angezeigt wird. Die linke und die rechte Pfeiltaste erzeugen eine ähnliche ASCII-Ausgabe, wie^[[C.
Ich habe von stty gehört und die man-Seiten angesehen, aber kann nicht herausfinden, was ich in der .sh-Skript ändern muss mit startet meine Java-Anwendung. Kann mir jemand helfen?