#!/usr/bin/perl # # File : v1.0_enter_ssh_single.pl # Author : Premson Rodriguez # Desc : Spawns single connection and runs a command # Date : 15-Oct-2003 # Ver : 1.0 # # use strict; use Expect; use vars qw($exp $comm $prompt $user $pwd); $|=1; $Expect::Log_Stdout=1; my $stdin = Expect->exp_init(\*STDIN); my $stdout = Expect->exp_init(\*STDOUT); my $user = "premson"; my $prompt = "\$ "; my $pwd= "password"; my $extra = "who > /home/premson/scripts/expect/wholist"; $comm = "ssh n1066628-linux"; ($exp=Expect->spawn("$comm")) ? (print "SSH (Ok)\n") : (die "ERR: Spawn failed: $?\n"); #$exp->exp_internal(1); $exp->log_stdout(0); unless ($exp->expect(15, '-re', qr'[$#>:] $')) { print "ERR: Timeout running $comm.\n"; } #print "Sending password ...\n"; print $exp "$pwd\r"; $exp->expect(15, '-re', qr'[$#>:] $') || warn "ERR sending the passwd.\n"; #print "Printing command ... \n"; print $exp "$extra\r"; $exp->expect(15, '-re', qr'[$#>:] $') || warn "ERR sending the command.\n"; exit(0);