Ho scritto un'applicazione Java che ha un istante (input.readLine()) che continua a leggere l'input fino a quando l'utente digita un comando di uscita. Ho uno script .bat per avviarlo in Windows e un file .sh per avviarlo in Linux. L'applicazione funziona bene in entrambi.Come si accettano gli input freccia sinistra/destra/su/giù in una shell Linux?
Mentre in Windows, se si digita un comando come "controllare la posta" e premere invio, eseguirà il comando. Quindi, al prompt successivo (ovvero: la volta successiva che l'applicazione Java legge una riga di input) è possibile premere la freccia su e richiama il comando "check email". Puoi premere il tasto freccia sinistra per spostare il cursore a sinistra, ecc. Questo è esattamente il modo in cui lo voglio.
Su Linux, tuttavia, premendo il tasto su, viene visualizzato^[[D per visualizzare. I tasti freccia sinistra e destra producono un output ASCII simile, come^[[C.
Ho sentito parlare di stty e ho visto le pagine man, ma non riesco a capire cosa ho bisogno di cambiare nello script .sh con la mia applicazione Java. Qualcuno può aiutarmi?