Expect timeout


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Expect timeout
# 1  
Old 04-13-2014
Expect timeout

Hello,


I'm doing a simple script with expect (a telnet which works without user/pass), and I want to put a condition if timeout happens, then to print a message, but it doesn't work. The script looks like below:

Code:
#!/usr/bin/expect

log_user 0 
set timeout 10 

spawn telnet IP PORT
send "exit\r"
expect eof

if {[string match *searched_string* $expect_out(buffer)]} {
        puts "Connection successful"
}

Somewhere inside, I want to tell the script that if timeout of 10 seconds is crossed, and to show "Connection not succesfull".

Any idea how to do this?
# 2  
Old 04-14-2014
I write a simple one for check connection. you can add/remove for your system and enviroment..good lucks Smilie

Code:
#!/usr/bin/expect --
set IP [lindex $argv 0]
set PORT [lindex $argv 1]
set timeout 2
set fail "Name or service not known"
set failx "localhost: bad port"
set failxx "Servname not supported"

proc eexit {} {
    exit 1
  }

if {[llength $argv] != 2} {
puts "usage: ./telnetcheck HOST PORT "
eexit
}

log_user 0
spawn telnet $IP $PORT

expect {
"*'^]'.*" { puts "\nConnection is Success\n"; exit }
"$fail" { puts "\nUnknown Host!!\n" ; eexit }
"$failx" { puts "\nBad Port!!\n" ; eexit }
"$failxx" { puts "\nBad Servername!!\n" ; eexit }
timeout { puts "\nTime Out is Over. Exiting..!\n" ; eexit }
"refused*" { puts "\nConnection is Fail!!\n" ; eexit }
}

regards
ygemici
This User Gave Thanks to ygemici For This Post:
# 3  
Old 06-13-2014
thanks for the expect code, but do we know if we can replace telnet with another tool, e.g. ssh to test for open and listening ports on the remote system?
# 4  
Old 06-14-2014
Quote:
Originally Posted by ux4me
thanks for the expect code, but do we know if we can replace telnet with another tool, e.g. ssh to test for open and listening ports on the remote system?
u can check the ssh-port 22 , like below (check the port over tcp-22)
Code:
# ./telnetcheck host 22 
Connection is Success

or u can use netcat (nc) utility
Code:
# nc -z localhost 22
Connection to localhost 22 port [tcp/ssh] succeeded!

or ip-range
Code:
# nc -z localhost 1-22
Connection to localhost 21 port [tcp/ftp] succeeded!
Connection to localhost 22 port [tcp/ssh] succeeded!

regards
ygemici
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Expect script returning string following a found expect.

I'm fairly new to scripting so this might not be possible. I am using Expect with Cisco switches and need to capture the string after finding the expect request. For example, when I issue "show version" on a Nexus switch, I'm looking to capture the current firmware version: #show version ... (0 Replies)
Discussion started by: IBGaryA
0 Replies

2. Programming

Calling expect script inside another expect

Hi, Am very new to expect scripting.. Can You please suggest me how to call an expect script inside another expect script.. I tried with spawn /usr/bin/ksh send "expect main.exp\r" expect $root_prompt and spawn /usr/bin/ksh send "main.exp\r" expect $root_prompt Both... (1 Reply)
Discussion started by: Priya Amaresh
1 Replies

3. Shell Programming and Scripting

set Net:SSH:Expect timeout and set it again.

SSHing into a machine can take a few seconds, but after I'm in, the commands return quickly. I was wondering if the timeout setting can be changed once I'm logged into the machine. Does anyone know if this can be set on the fly? The problem here is, if I have to set timeout = 10, it'll take 10... (1 Reply)
Discussion started by: mrwatkin
1 Replies

4. Shell Programming and Scripting

Expect - Comparison of expect value and loop selection

Hello All, I am trying to automate an installation process using expect and sh script. My problem is that during the installation process the expected value can change according to the situation. For Example if this is a first time installation then at step 3 I'll get "Do you want to accept... (0 Replies)
Discussion started by: alokrm
0 Replies

5. Shell Programming and Scripting

sftp expect timeout problem

hello All, I am doing SFTP using expect. We just change our server from sun solaris 8 to sun solaris 10. The script was working good on sun solaris 8. But it is giving problem on 10. from shell, SFTP is working fine.Please help me. What can be the problem. LIB_sftp_get() { ... (0 Replies)
Discussion started by: mindtee_abhi
0 Replies

6. Shell Programming and Scripting

Need help with Expect script for Cisco IPS Sensors, Expect sleep and quoting

This Expect script provides expect with a list of IP addresses to Cisco IPS sensors and commands to configure Cisco IPS sensors. The user, password, IP addresses, prompt regex, etc. have been anonymized. In general this script will log into the sensors and send commands successfully but there are... (1 Reply)
Discussion started by: genewolfe
1 Replies

7. Shell Programming and Scripting

Expect: Beginner help with spawn and expect

Hello hello, did a quick search and didn't turn up anything helpful. I've got a book I'm sure has the answers, but I don't think I'll have time to finish it before this all has to work, so here goes~ if this isn't a good place to post and someone could direct me to another forum I'd appreciate... (1 Reply)
Discussion started by: Vryali
1 Replies

8. Shell Programming and Scripting

strange expect script behavior, or am i misunderstanding expect scripting?

Hello to all...this is my first post (so please go easy). :) I feel pretty solid at expect scripting, but I'm running into an issue that I'm not able to wrap my head around. I wrote a script that is a little advanced for logging into a remote Linux machine and changing text in a file using sed.... (2 Replies)
Discussion started by: v1k0d3n
2 Replies

9. Shell Programming and Scripting

Expect and auto expect command

I need to run a remote application(GUI) in a client.i.e on running a script in the client machine i should get the GUI application which is running in the server by providing password through the script.Will expect or autoexpect command suit for this scenario? could anyone help me by posting some... (0 Replies)
Discussion started by: arun_v
0 Replies

10. Solaris

About the Timeout

Hello everyone I am a new one,I want to know how to get the solaris force the loginer out if he do not in a time thanks (4 Replies)
Discussion started by: lyh003473
4 Replies
Login or Register to Ask a Question