/usr/share/doc/perl-Expect/tutorial
NameSizeModeActions
1.A.Intro24280644editdlrm
2.A.ftp30850644editdlrm
2.B.rlogin40430644editdlrm
3.A.debugging19730644editdlrm
4.A.top9280644editdlrm
5.A.top11390644editdlrm
5.B.top24500644editdlrm
6.A.smtp-verify32600644editdlrm
6.B.modem-init18330644editdlrm
README6440644editdlrm
Edit: /usr/share/doc/perl-Expect/tutorial/4.A.top (928B)
#!/usr/bin/perl # This example is a replay of sorts of the rlogin example #before except in this example we turn control of the process back #to the user through use of interact(). use Expect; # $Expect::Debug=2; $Expect::Exp_Internal=1; $RSH='/usr/local/bin/ssh'; $host_to_login_to=shift(@ARGV); # Get the password. We will show how to do this without printing the # password to the screen later. print "Enter password: "; $password=; chomp $password; $rsh=Expect->spawn($RSH,$host_to_login_to); # Look for a password prompt. $rsh->expect(30,'-re','word:\s$')||(die"Never got password prompt\n"); print $rsh "$password\r"; # Look for a prompt. Prompt can be # $ > or ] followed by a whitespace. $prompt = '[\]\$\>\#]\s$'; # Note the use of -re $rsh->expect(30,'-re',$prompt)||(die "Never got prompt on host\n"); # Start top print $rsh "exec top\r"; # OK, now return control to user. $rsh->interact();