Java程序没有采用Piped输入

时间:2018-04-06 12:22:41

标签: java bash shell unix

我必须使用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文件的源代码。

这可能是什么原因?

2 个答案:

答案 0 :(得分:3)

程序很可能不是从标准输入读取密码,而是从终端读取密码。有一个名为expect的程序,它基本上是一种用于编写与终端程序交互的脚本的语言。

查看http://expect.sourceforge.net/

答案 1 :(得分:1)

查看expect,它有助于与交互式程序进行编程对话。此外,如果您想了解有关正在使用的* .jar文件源的更多信息,可以对其进行反编译。