- 论坛徽章:
- 0
|
用Expect模块
举个例子:
- yb_message "signing package $rpmfile";
- my $exp = Expect->spawn('rpm','--addsign',
- '--define',"_signature $_signature",
- '--define',"_gpg_name $_gpg_name",
- $_gpg_path?('--define',"_gpg_path $_gpg_path"):(),
- $_gpgbin?('--define',"_gpgbin $_gpgbin"):(),
- $rpmfile)
- or die "spawn sign package command failed:$!";
- $exp->expect(30,
- [qr/^Enter pass phrase:/ => sub { my $exp = shift;
- print '[SENDING PASSWORD]';
- $exp->send("$passphrase\n");
- exp_continue; }],
- );
- return $exp->exitstatus();
复制代码
具体看Expect的手册 |
|