Handle multiple statements in an Expect script

Viewed 22338

I am new to Expect scripting.

I wrote an Expect script for ssh in a Linux machine, where I am facing a problem in ssh'ing to different Linux machines. Below I have copied the script.

!/usr/local/bin/expect

set LinuxMachine [lindex $argv 0]

spawn ssh root@$LinuxMachine


expect "root@$LinuxMachine's password:"

send "root123\n"

expect "[root@Client_FC12_172_85 ~]#"

send "ls"

interact

When I supply 10.213.172.85 from command line the expect in the 4th line, it reads as "root@10.213.172.85's password:" and logs in successfully

But some Linux will expect

The authenticity of host '10.213.172.108 (10.213.172.108)' can't be established.
RSA key fingerprint is da:d0:a0:e1:d8:7a:23:8b:c7:d8:40:8c:b2:b2:9b:95.
Are you sure you want to continue connecting (yes/no)

In this case the script will not work.

How can I have two Expect statements in one Expect command?

2 Answers
Related