Leser: 2
![]() |
|< 1 2 >| | ![]() |
20 Einträge, 2 Seiten |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
my $exp = Expect->spawn("sudo passwd -i opendirectory $user_name") or die "Cannot spawn passwd: $!\n";;
my $spawn_ok;
$exp->expect($timeout,
[
qr'New password:$',
sub {
$spawn_ok = 1;
my $fh = shift;
$fh->send("$user_password_new1\n");
exp_continue;
}
],
[
'Retype new password:$',
sub {
my $fh = shift;
print $fh "$user_password_new1\n";
exp_continue;
}
],
[
'password for root:$',
sub {
my $fh = shift;
print $fh "$admin_password\n";
exp_continue;
}
],
[
eof =>
sub {
if ($spawn_ok) {
$exp->hard_close();
$result = "1";
#die "\n";
} else {
$exp->hard_close();
$result = "0";
}
}
],
[
timeout =>
sub {
die "No login.\n";
}
],
'-re', qr'[#>:] $', #' wait for shell prompt, then exit expect
);
$Expect::Log_Stdout = 1;
$exp->log_file($filehandle);
QuoteHabe eine noch eine Frage. Ich habe im moment am Anfang meines Scripts dies hier eingefügt...
Code: (dl )$Expect::Log_Stdout = 1;
...damit die User nicht mit den Rückgaben des Programm gestört werden. Doch nun möchte ich die Ausgabe doch haben, nämlich zur Auswertung, doch wie bekomme ich es hin, dass der User die Ausgabe des Programms nicht sieht, aber ich sie weiterverwenden kann. Ich habs schon mit...
Code: (dl )$exp->log_file($filehandle);
...versucht, aber da gibt er mit dann keine Ausgabe bei $filehandle, es steht nix drin.
Thx for help
1
2
my $filename = 'foo_bar_baz.txt';
my $filehandle = new IO::File '>' . $filename or die "Can't open '$filename': $!";
![]() |
|< 1 2 >| | ![]() |
20 Einträge, 2 Seiten |