我使用已编译的Java文件,该文件将文件名作为参数,然后要求输入用户名和密码(通过用户输入)。我试图从shell脚本自动化这个,但遇到了问题。我无法访问java代码,这就是我遇到麻烦的原因 所以代码被称为以下方式
java javaprogram /home/user/securityfile
因此,您传递文件,然后它会询问您的用户名和密码。进入后,它已经完成了。
现在,我尝试将用户输入放入文件并传入,但是我收到错误。
java javaprogram /home/user/securityfile < userinputfile
userinput文件包含以下文本(第一行是用户名,第二行是密码):
MattSmith
MSpassword136
有没有人有任何想法?也许我做错了?
以下是错误消息:
Exception in thread "main" java.lang.NullPointerException at ilex.util.UserAuthFile.main(UserAuthFile.java:297)
由于
答案 0 :(得分:1)
Try
(echo "user"; sleep 1; echo "password") | java javaprogram /home/user/securityfile
If that works you can refactor to read from file without too much work. If it doesn't, may be that app will never read from System.in
since it requires an interactive console System.console()
. Some info here.