Perl期待脚本过早退出

时间:2014-09-28 06:01:49

标签: perl expect

我有一个处理文件传输的Perl Expect脚本。该脚本工作正常,但它在文件传输完成之前退出。我不想依赖sleep(),因为所需的时间可能会有所不同。

在继续之前,有没有期待等待我的命令完成?

my $exp = Expect->spawn("perl ./fileTransfer.pl $url")
or die "Cannot spawn program: $!\n";

#Enter credentials
$exp->send($username);
sleep(1);

$exp->send($password);
sleep(1);

#This only executes for a bit, before the program exits:
$exp->send($getFiles);
$exp->soft_close();
exit;

1 个答案:

答案 0 :(得分:2)

只需使用$exp->expect(undef);代替$exp->soft_close();即可解决此问题 我也接受了@Mark Setchell的建议,现在“期待”特定的提示,这样我就可以轻松地进行多次'发送',而不必担心在前一个完成之前执行。