我正在編寫一個應用程序,通過SSH連接到服務器,打開一個應用程序(它在shell上運行)並使用它。我正在使用JSch,並設法連接,打開應用程序並向其發送命令。現在我面臨兩個問題:JSch Esc命令和編碼
- 在Windows上我有與應用程序的編碼問題(在Linux上,如果我使用IDE控制檯輸出來運行它,我有同樣的問題,那隻能說明對上的bash )。這裏有一個screehshot:這裏是它應該表現出什麼樣的截圖:
我運行的應用程序,使得使用ESC鍵的,我不能在應用程序中我已經寫使用它。它只是在輸出 寫道:
^[
這裏是我用來做這個應用程序的代碼:JSch shell = new JSch(); Session session = shell.getSession("myUser", "myHost"); session.setPassword("myPassword"); session.setConfig("StrictHostKeyChecking", "no"); session.connect(); Channel channel = session.openChannel("shell"); channel.setOutputStream(System.out); PipedInputStream in = new PipedInputStream(); PipedOutputStream out = new PipedOutputStream(in); channel.setInputStream(in); channel.connect(); out.write("my_application\n".getBytes()); Thread.sleep(1000); //waiting for the app to load out.write("\n".getBytes()); out.write("appUser\n".getBytes()); out.write("appPassword\n".getBytes()); channel.setInputStream(System.in);
PS:服務器使用sh和bash的不是。
我認爲可能存在一個問題,在窗口呈現顏色的可行性 – Augusto