Thread Ablauf bei zu langen Tasks
(7 answers)
Opened by peterb at 2022-06-14 10:06
Kommt die unerwünschte Passwort-Abfrage mit einem eigenen Prompt daher? Ist dieser dann in $line zu sehen?
Dann könntest Du in der while Schleife $line überprüfen und ggfs. die Schleife abbrechen lassen. Code (perl): (dl
)
1 2 3 4 5 6 7 8 while ( my $line = <$pipe> ) { push @cmd, $line; if ( $line =~ m/password prompt:/ ) { # define your pattern for the password prompt # maybe empty or reset @cmd last; # end while loop } } close $pipe; Evtl. taucht die PW-Abfrage über STDERR auf, dann wäre noch eine Ausgabeumleitung des aufgerufenen Kommandos sinnvoll ( 2>&1). Oder man wechselt auf ein IPC Modul, dass die Kanäle einzeln auffangen kann. Alternativer Code zu oben: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 while ( my $line = <$pipe> ) { if ( $line !~ m/password prompt:/ ) { # define your pattern for the password prompt push @cmd, $line; } else { # maybe empty or reset @cmd last; # end while loop } } close $pipe; Last edited: 2022-06-14 14:16:46 +0200 (CEST) meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |