Я написал Java-приложение, которое имеет некоторое время (input.readLine ()), которое продолжает читать ввод, пока пользователь не введет команду выхода. У меня есть скрипт .bat для запуска в Windows и .sh для запуска в Linux. Приложение отлично работает в обоих случаях.
Если в Windows вы наберете команду типа «проверить электронную почту» и нажмете клавишу ввода, она выполнит команду. Затем при следующем запросе (то есть при следующем чтении приложением Java строки ввода) вы можете нажать стрелку вверх, и она вызовет вашу команду «проверить электронную почту». Вы можете нажать клавишу со стрелкой влево, чтобы переместить курсор влево и т. Д. Это все, как я хочу.
Однако в Linux нажатие клавиши вверх приводит к появлению ^ [[D. Клавиши со стрелками влево и вправо производят похожий вывод ASCII, например ^ [[C.
Я слышал о stty и просматривал man-страницы, но не могу понять, что мне нужно изменить в скрипте .sh при запуске моего Java-приложения. Кто-нибудь может мне помочь?