Cygwin 鍵入箭頭鍵會給出「虛假」字符

Cygwin 鍵入箭頭鍵會給出「虛假」字符

執行命令列應用程式時(事實上$ gradle run,我不知道這是否重要),如果我無意中按向上箭頭,然後按向下箭頭返回提示行(即在我的app)並按回車鍵,然後檢查輸入的字串,我會看到如下內容:

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

……這裡我只q<Return>在使用箭頭鍵後輸入了“”...但他們在“q”之前添加了一些有趣的東西。

為了獲取用戶輸入,我正在這樣做(Groovy):

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

有沒有辦法讓箭頭鍵(以及其他可能執行類似操作的按鍵)「靜音」?注意我不知道這是否也適用於 *nix BASH...

答案1

由於 gradle 是一個 Java 程序,而 Cygwin 沒有自己的 Java 機器,因此您在 Mintty 終端機內執行 Windows 程式(Java 機器)。

因此,通常的限制適用:

當與使用本機 Windows API 進行命令列使用者互動(「控制台模式」)的程式進行互動時,會觀察到許多不良影響;這就是pty不相容問題和字元編碼不相容問題。這基本上會影響所有未在 cygwin 或 msys 環境中編譯的程式(請注意,在這種情況下,MinGW 不是 msys)。

報告了更多資訊和一些可能的部分解決方法
https://github.com/mintty/mintty/wiki/Tips#inputoutput-interaction-with-alien-programs

相關內容