【发布时间】:2011-04-12 15:00:49
【问题描述】:
我有一个命令行 java 程序,它接受密码并从标准输入验证。不幸的是,修改程序不是一种选择,因为它是专有的。
我无法使用 < 从 unix 命令行传递参数,因为程序中有两个提示,都要求输入相同的密码。有标准输出语句要求在命令提示符下输入“密码”和“密码(验证):”。
如何以非交互方式将密码传递给该程序,以便可以使用 cron 作业/RC 脚本自动执行?
谢谢!
【问题讨论】:
我有一个命令行 java 程序,它接受密码并从标准输入验证。不幸的是,修改程序不是一种选择,因为它是专有的。
我无法使用 < 从 unix 命令行传递参数,因为程序中有两个提示,都要求输入相同的密码。有标准输出语句要求在命令提示符下输入“密码”和“密码(验证):”。
如何以非交互方式将密码传递给该程序,以便可以使用 cron 作业/RC 脚本自动执行?
谢谢!
【问题讨论】:
您的问题不确定Expect 是否可以接受。
【讨论】:
密码可能根本不是从标准输入读取的,而是从 /dev/tty 读取的。在这种情况下,你就不走运了。
你能通过标准输入输入包括密码在内的所有输入来运行程序吗?如果没有,那你就不走运了。
但是,如果这可行,您可以执行类似的操作
(echo user; echo passwd1; echo passwd1; cat) | java -jar yourCommandlineprogram.jar
【讨论】: