当运行命令行应用程序时(事实上$ gradle run
,我不知道这是否重要),如果我无意中按下向上箭头,然后按向下箭头返回到提示行(即在我的应用程序中)并按回车键,并检查输入的字符串,我会看到类似这样的内容:
No index open
> q
you entered: |a aaaq|
...这里我只q<Return>
在使用箭头键后输入了“”...但他们在“q”之前添加了一些有趣的东西。
为了获取用户输入我正在这样做(Groovy):
response = System.in.newReader().readLine()
有什么方法可以让箭头键(以及其他可能执行类似操作的键)“静音”吗?NB:我不知道这是否也适用于 *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