Perl, system() 或 exec() 执行需要输入时怎么办?
Perl脚本, system() 或 exec() 执行需要输入时怎么办?
比如,在需要输入密码或其他信息时,怎么办?
或者有没有别的方法,可以应对交互的?
[解决办法]
正常输入呗。
如果,你指的是无人值守的情况,那么你可以参考perl的telnet包的处理办法,不过需要异步来执行,判断程序的输出,是否满足开始输入的条件。
另外,这种程序最好有命令行参数,不要使用人机交互,麻烦。
[解决办法]
你可以在perl中使用expect命令来进行交互式的操作。
www.cpan.org上可以找到expect.pm,把它安装到perl中,并在你的脚本里添加命令'use Expect;'.
具体用法可以参考如下链接
http://search.cpan.org/~rgiersig/Expect-1.21/Expect.pod