我必须使用一个 Java 程序,它需要 2 个用户输入,如下所示:
Enter username:
Enter password:
所以我想像这样发送
echo -e "myusername\npassword" | java javaprogram
和
java javaprogram < input.txt
两者都不起作用。
当我执行此命令时,它显示如下错误:
Enter userID: Enter password: Exception in thread "main" java.io.IOException: Unable to mask input in console. at..
我不知道这个jar文件的源代码。
这可能是什么原因?
最佳答案
程序很可能不是从标准输入读取密码,而是从终端读取密码。有一个名为 expect
的程序,它基本上是一种用于与终端程序交互的脚本语言。
关于Java 程序不接受管道输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49692730/