我有一个命令行 java 程序,它接受密码并从 stdin 进行验证。不幸的是,修改程序不是一种选择,因为它是专有的。
我无法使用 <
从 unix 命令行传递参数因为程序中有两个提示,都要求输入相同的密码。在命令提示符下有标准输出语句要求输入“密码”和“密码(验证):”。
我如何以非交互方式将密码传递给该程序,以便它可以使用 cron 作业/RC 脚本自动执行?
谢谢!
最佳答案
有可能密码根本不是从 stdin 读取的,而是从/dev/tty 读取的。在那种情况下,你就不走运了。
你能通过标准输入输入包括密码在内的所有输入来运行程序吗?如果没有,那你就不走运了。
但是,如果这可行,您可以执行类似的操作
(echo user; echo passwd1; echo passwd1; cat) | java -jar yourCommandlineprogram.jar
关于java - 以非交互方式将多行标准输入传递给交互式 Java 命令行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5637349/