Sponsored Content
Top Forums Shell Programming and Scripting How to run scripts within a telnet session? Post 302746629 by Chubler_XL on Wednesday 19th of December 2012 07:59:37 PM
Old 12-19-2012
You could try an expect script

Something like this should do it, command are in text file cmd_file in current directory output files are good_result_log and bad_result_log:


Code:
#!/usr/bin/expect -f
set timeout 2
spawn -noecho telnet remotehost
log_user 0
 
# Change command prompt to "PROMPT# " to make matching safer
send "PS1='PROMPT# '\r"
expect -re "PROMPT# '(.*)PROMPT# "
 
#Open Input and Output files
set cmds [open cmd_file r]
set eout [open bad_result_log w]
set gout [open good_result_log w]
 
while {[gets $cmds command] >= 0} {
    send "$command\r"
    expect -re "\r\n(.*)\r\n(.*)PROMPT# "
    set output $expect_out(1,string)
    if {[regexp {OK} $output match] == 1} {
       puts $gout $output
    } else {
       puts $eout $output
    }
}
 
close $cmds
close $eout
close $gout
 
send "exit\r"
expect eof

 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Uploading and Downloading during a telnet session

Hi there, I'm trying to download files from a server and also upload new files to the same server during a telnet session. How do I go about getting certain files (.gif) from the server onto my local drive and vice versa? Can anyone help me? Thank you so much! (1 Reply)
Discussion started by: WhitneyMay
1 Replies

2. UNIX for Dummies Questions & Answers

telnet session timeout

hi, we can set something such that if the user has been idle for a while, it will auto disconnect. where to do so? thanks (6 Replies)
Discussion started by: yls177
6 Replies

3. Shell Programming and Scripting

Telnet session does not expire

Dear friends.. Our project has a module that runs on handheld devices. Through the handheld we telnet to solaris where the application actually runs. I noticed that after starting a session through the handheld, if i go out of range or if i remove and replace the battery in the handheld, the... (1 Reply)
Discussion started by: deepsteptom
1 Replies

4. Shell Programming and Scripting

Telnet Session

{ sleep 2 echo "$user" sleep 2 echo "$password" sleep 2 echo " ls" sleep 10 echo "exit" }| telnet $server I have a machine x and i have executed the above script on machine 'x'. i entered the... (6 Replies)
Discussion started by: pathanjalireddy
6 Replies

5. UNIX for Dummies Questions & Answers

Unix Telnet session

Hi Is there any way whilst in a telnet session you can view your client machine name that you are using to connect to the Unix box ? :eek: (2 Replies)
Discussion started by: mlucas
2 Replies

6. UNIX for Dummies Questions & Answers

Telnet Session to AIX

Hello, I have AIX 5.3 at home connected to netgear router. Port Forwarding has been enabled on the router. Problem is that if I want to telnet, I have to try 2 or 3 times before I can get a logon prompt. It times out for first or second time (Connection to session <IP_Address> failed: Connection... (1 Reply)
Discussion started by: bluebee
1 Replies

7. UNIX for Dummies Questions & Answers

Disconnecting a telnet session

How can I disconnect an existing telnet session? The host is a serial port server with multiple ports. The users login using the host's name and a port, i.e. telnet host01 1235. Thanks. (14 Replies)
Discussion started by: cooldude
14 Replies

8. Shell Programming and Scripting

telnet and run scripts

Hello folks, I've got this script which connects to different boxes and executes a certain script in those locations. The following is the line from where i am trying to do this: (sleep 1; echo $USERID ; sleep 1; echo $PASSWD ; sleep 1 ; echo y ; sleep 1 ; echo "\r" ; sleep 1 ; echo "cd... (1 Reply)
Discussion started by: Rajat
1 Replies

9. HP-UX

ssh session getting hung (smilar to hpux telnet session is getting hung after about 15 minutes)

Our network administrators implemented some sort of check to kill idle sessions and now burden is on us to run some sort of keep alive. Client based keep alive doesn't do a very good job. I have same issue with ssh. Does solution 2 provided above apply for ssh sessions also? (1 Reply)
Discussion started by: yoda9691
1 Replies
close(n)						       Tcl Built-In Commands							  close(n)

__________________________________________________________________________________________________________________________________________________

NAME
close - Close an open channel SYNOPSIS
close channelId _________________________________________________________________ DESCRIPTION
Closes the channel given by channelId. ChannelId must be an identifier for an open channel such as a Tcl standard channel (stdin, stdout, or stderr), the return value from an invocation of open or socket, or the result of a channel creation command provided by a Tcl extension. All buffered output is flushed to the channel's output device, any buffered input is discarded, the underlying file or device is closed, and channelId becomes unavailable for use. If the channel is blocking, the command does not return until all output is flushed. If the channel is nonblocking and there is unflushed output, the channel remains open and the command returns immediately; output will be flushed in the background and the channel will be closed when all the flushing is complete. If channelId is a blocking channel for a command pipeline then close waits for the child processes to complete. If the channel is shared between interpreters, then close makes channelId unavailable in the invoking interpreter but has no other effect until all of the sharing interpreters have closed the channel. When the last interpreter in which the channel is registered invokes close, the cleanup actions described above occur. See the interp command for a description of channel sharing. Channels are automatically closed when an interpreter is destroyed and when the process exits. Channels are switched to blocking mode, to ensure that all output is correctly flushed before the process exits. The command returns an empty string, and may generate an error if an error occurs while flushing output. If a command in a command pipe- line created with open returns an error, close generates an error (similar to the exec command.) EXAMPLE
This illustrates how you can use Tcl to ensure that files get closed even when errors happen by combining catch, close and return: proc withOpenFile {filename channelVar script} { upvar 1 $channelVar chan set chan [open $filename] catch { uplevel 1 $script } result options close $chan return -options $options $result } SEE ALSO
file(n), open(n), socket(n), eof(n), Tcl_StandardChannels(3) KEYWORDS
blocking, channel, close, nonblocking Tcl 7.5 close(n)
All times are GMT -4. The time now is 07:15 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy