Cygwin Eingabe Pfeiltasten gibt "falsche" Zeichen

Cygwin Eingabe Pfeiltasten gibt "falsche" Zeichen

Wenn ich beim Ausführen einer Befehlszeilen-App (ich führe $ gradle rundas gerade aus, ich weiß nicht, ob das von Bedeutung sein könnte) versehentlich den Aufwärtspfeil und dann den Abwärtspfeil drücke, um zur Eingabeaufforderungszeile (also in meine App) zurückzukehren, und dann die Eingabetaste drücke und die eingegebene Zeichenfolge untersuche, sehe ich ungefähr Folgendes:

No index open
> q
you entered: |a aaaq|

... hier habe ich q<Return>nach der Verwendung der Pfeiltasten nur " " eingegeben... aber vor dem ‚q‘ haben sie ein paar lustige Sachen hinzugefügt.

Um die Benutzereingabe zu erhalten, mache ich Folgendes (Groovy):

response = System.in.newReader().readLine()

Gibt es eine Möglichkeit, die Pfeiltasten (und andere, die etwas Ähnliches bewirken könnten) „stumm“ zu schalten? NB: Ich habe keine Ahnung, ob dies auch für *nix BASH gilt …

Antwort1

Da Gradle ein Java-Programm ist und Cygwin keine eigene Java-Maschine hat, führen Sie ein Windows-Programm (Java-Maschine) im Mintty-Terminal aus.

Daher gelten die üblichen Einschränkungen:

Bei der Interaktion mit Programmen, die eine native Windows-API für die Benutzerinteraktion über die Befehlszeile verwenden („Konsolenmodus“), werden eine Reihe unerwünschter Effekte beobachtet; dies ist das PTY-Inkompatibilitätsproblem und das Zeichenkodierungsinkompatibilitätsproblem. Dies betrifft grundsätzlich alle Programme, die nicht in einer Cygwin- oder MSYS-Umgebung kompiliert wurden (und beachten Sie, dass MinGW in diesem Zusammenhang nicht MSYS ist).

Weitere Informationen und einige mögliche Teilumgehungen finden Sie unter
https://github.com/mintty/mintty/wiki/Tips#inputoutput-interaction-with-alien-programs

verwandte Informationen