Napisałem aplikację Java, która ma chwilę (input.readLine()), która kontynuuje czytanie danych wejściowych do momentu wpisania przez użytkownika polecenia quit. Mam skrypt .bat, aby uruchomić go w systemie Windows i .sh, aby uruchomić go w systemie Linux. Aplikacja działa dobrze w obu.Jak mogę akceptować wejścia strzałek lewo/prawo/góra/dół w powłoce systemu Linux?
Będąc w systemie Windows, jeśli wpiszesz komendę typu "sprawdź wiadomość e-mail" i naciśnij Enter, wykona ona polecenie. Następnie, przy następnym monicie (to znaczy: następnym razem, gdy aplikacja Java odczytuje linię danych wejściowych), możesz nacisnąć strzałkę w górę i wywołać polecenie "sprawdź pocztę". Możesz nacisnąć klawisz lewej strzałki, aby przesunąć kursor w lewo itd. Dokładnie tak, jak tego chcę.
Jednak w systemie Linux naciśnięcie górnego klawisza powoduje^[[D pojawia się. Lewy i prawy klawisz strzałki dają podobne wyjście ASCII, jak^[[C.
Słyszałem o stty i przeglądałem strony man, ale nie mogę wymyślić, co muszę zmienić w skrypcie .sh z uruchomieniem mojej aplikacji Java. Czy ktoś może mi pomóc?