Опитвам се да изляза от подканата за въвеждане на парола по време на scp команда в perl скрипта след определено време за сървъра, който няма ssh публичен ключ. В този скрипт използвам обратна отметка за копиране на файл от един сървър на друг, но скриптът се забива при подканата за парола и не излиза дори след зададеното време за изчакване.
my $test = '';
my $exit_value = '';
eval {
my $timeout = 2;
local $SIG{ALRM} = sub { die "timeout\n" };
alarm($timeout);
$test = `scp foo.txt bar@baz:/`;
$exit_value = $? >> 8;
alarm(0);
}
if ($@) {
print "Time out";
}
Има ли някакъв начин да се справим с горния сценарий?