Sponsored Content
Full Discussion: cat & telnet
Top Forums Shell Programming and Scripting cat & telnet Post 302420427 by Reboot on Tuesday 11th of May 2010 02:33:52 PM
Old 05-11-2010
To make a shell script which can telnet automatically and run commands on the other machine and end the telnet session without any interaction from the user, you need to install EXPECT and TCL packages on your unix system.

If you are done with above mentioned then, you can write a script similar to following (as per your requirements) :

Code:
#!/usr/local/bin/expect -f ####/usr/local/bin/expect is the directory where expect was installed 
log_user 0 ####this command is used to hide the conversationn between the script and the other machine 
set address [lindex $argv 0] ###assign the first passed parameter while calling the script to $address 
set username [lindex $argv 1] ###assign the 2nd passed parameter while calling the script to $username 
set password [lindex $argv 2] ###assign the 3rd passed parameter while calling the script to $password 
spawn telnet ${address} ###start the telnet session to machine with IP=$address 
###start conversation with the machine: 
expect "login:" 
send -- "${username}\r" 
expect "Password:" 
send -- "${password}\r" 
expect "$ " 
send -- "#!/bin/ksh\r" ###declare the shell to be used (optional) 
expect "$ " 
send -- "###type here any command you want to execute" 
expect "$ " 
send -- "exit\r" ###end the telnet session and exit the script


to execute this script, you can type:

Code:
$ expect_script "address" "username" "password" ###the script name is "expect_script"

but before u call the expect script, you should make the expect script executable, and this can be done by typing:
Code:
$ chmod +x expect_script

You can also call the above script from any other script....SmilieSmilie
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

rlogin & telnet

hi what is the main difference between rlogin and telnet? Or they are synonymous cheers (13 Replies)
Discussion started by: g-e-n-o
13 Replies

2. UNIX for Advanced & Expert Users

SCO OpenServer & telnet

I was wondering if anyone knew how I would open up my server so it can be telneted into from other subnets.:confused: (2 Replies)
Discussion started by: cparks73
2 Replies

3. Cybersecurity

telnet on AT&T MLS V

How do I enable telnet access to a system running AT&T MLS? (1 Reply)
Discussion started by: smartgod
1 Replies

4. Shell Programming and Scripting

telnet & su in shell script

Hi, Any scripting experts out there that can point me to the right direction of writing a script using telnet and su to access a server without any users interaction such as login and entering passwd. Thanks. Thanks in advance vastare (1 Reply)
Discussion started by: vastare
1 Replies

5. UNIX for Advanced & Expert Users

diable telnet & ftp

Hi All, I need to stop all the services for telnet & FTP as we want our server to be more secure. Please give me some steps for jumping to SSH protocol. How can i disable telnet & ftp service on my server. (1 Reply)
Discussion started by: pradeep_desh
1 Replies

6. Shell Programming and Scripting

cat & awk

Hi there, Can show some hit why i got this error? For eg i have a.txt in which consist of contents as below 1|781494-0015|IV\|I||C|RECHARGE|Success\|V\|\||2007-12-04 02:33:13.000| 2|762405-0405|IV\|I||C|RECHARGE|Success\|V\|\||2007-12-04 02:33:17.000| In fact , i want to perfrom to have... (2 Replies)
Discussion started by: rauphelhunter
2 Replies

7. Shell Programming and Scripting

for i in `cat myname.txt` && for y in `cat yourname.txt`

cat myname.txt John Doe I John Doe II John Doe III ----------------------------------------------------------------------- for i in `cat myname.txt` do echo This is my name: $i >> thi.is.my.name.txt done ----------------------------------------------------------------------- cat... (1 Reply)
Discussion started by: danimad
1 Replies

8. UNIX for Dummies Questions & Answers

Cat Input & Output to a Log file

Team, we use below command to store the contents in a logfile. cat a.txt > a.log a.txt content is 123 345 Is there any options available to store the command used also? for eg a.log may show as cat a.txt 123 345 (5 Replies)
Discussion started by: sid2013
5 Replies

9. Shell Programming and Scripting

Problem while displaying(cat) file content inside telnet loop .

Hi Team, Not getting the file output inside my email which i am sending from unix box. . Please refer the below code : #!/bin/sh { sleep 5 echo ehlo 10.56.185.13 sleep 3 echo mail from: oraairtel@CNDBMUREAPZP02.localdomain sleep 3 echo rcpt to: saurabhtripathi@anniksystems.com... (1 Reply)
Discussion started by: tripathi1990
1 Replies
RUNSCRIPT(1)						      General Commands Manual						      RUNSCRIPT(1)

NAME
runscript - script interpreter for minicom SYNOPSIS
runscript scriptname [logfile [homedir]] DESCRIPTION
runscript is a simple script interpreter that can be called from within the minicom communications program to automate tasks like logging in to a unix system or your favorite bbs. INVOCATION
The program expects a script name and optionally a filename and the user's home directory as arguments, and it expects that it's input and output are connected to the "remote end", the system you are connecting to. All messages from runscript ment for the local screen are directed to the stderr output. All this is automatically taken care of if you run it from minicom. The logfile and home directory parame- ters are only used to tell the log command the name of the logfile and where to write it. If the homedir is omitted, runscript uses the directory found in the $HOME environment variable. If also the logfile name is omitted, the log commands are ignored. KEYWORDS
Runscript recognizes the following commands: expect send goto gosub return ! exit print set inc dec if timeout verbose sleep break call log OVERVIEW OF KEYWORDS
send <string> <string> is sent to the modem. It is followed by a ' '. <string> can be: - regular text, eg 'send hello' - text enclosed in quotes, eg 'send "hello world"' Within <string> the following sequences are recognized: - newline - carriage return a - bell  - backspace c - don't send the default ' '. f - formfeed o - send character o (o is an octal number) Also $(environment_variable) can be used, for example $(TERM). Minicom passes three special environment variables: $(LOGIN), which is the username, $(PASS), which is the password, as defined in the proper entry of the dialing directory, and $(TERMLIN) which is the number of actual terminal lines on your screen (that is, the statusline excluded). print <string> Prints <string> to the local screen. Default followed by ' '. See the description of 'send' above. label: Declares a label (with the name 'label') to use with goto or gosub. goto <label> Jump to another place in the program. gosub <label> Jumps to another place in the program. When the statement 'return' is encountered, control returns to the statement after the gosub. Gosub's can be nested. return Return from a gosub. ! <command> Runs a shell for you in which 'command' is executed. On return, the variable '$?' is set to the exit status of this command, so you can subsequently test it using 'if'. exit [value] Exit from "runscript" with an optional exit status. (default 1) set <variable> <value> Sets the value of <variable> (which is a single letter a-z) to the value <value>. If <variable> does not exist, it will be created. <value> can be a integer value or another variable. inc <variable> Increments the value of <variable> by one. dec <variable> Decrements the value of <variable> by one. if <value> <operator> <value> <statement> Conditional execution of <statement>. <operator> can be <, >, != or =. Eg, 'if a > 3 goto exitlabel'. timeout <value> Sets the global timeout. By default, 'runscript' will exit after 120 seconds. This can be changed with this command. Warning: this command acts differently within an 'expect' statement, but more about that later. verbose <on|off> By default, this is 'on'. That means that anything that is being read from the modem by 'runscript', gets echoed to the screen. This is so that you can see what 'runscript' is doing. sleep <value> Suspend execution for <value> seconds. expect expect { pattern [statement] pattern [statement] [timeout <value> [statement] ] .... } The most important command of all. Expect keeps reading from the input until it reads a pattern that matches one of the specified ones. If expect encounters an optional statement after that pattern, it will execute it. Otherwise the default is to just break out of the expect. 'pattern' is a string, just as in 'send' (see above). Normally, expect will timeout in 60 seconds and just exit, but this can be changed with the timeout command. break Break out of an 'expect' statement. This is normally only useful as argument to 'timeout' within an expect, because the default action of timeout is to exit immediately. call <scriptname> Transfers control to another scriptfile. When that scriptfile finishes without errors, the original script will continue. log <text> Write text to the logfile. NOTES
If you want to make your script to exit minicom (for example when you use minicom to dial up your ISP, and then start a ppp or slip session from a script), try the command "! killall -9 minicom" as the last script command. The -9 option should prevent minicom from hanging up the line and resetting the modem before exiting. Well, I don't think this is enough information to make you an experienced 'programmer' in 'runscript', but together with the examples it shouldn't be too hard to write some useful script files. Things will be easier if you have experience with BASIC. The minicom source code comes together with two example scripts, scriptdemo and unixlogin. Especially the last one is a good base to build on for your own scripts. BUGS
Runscript should be built in to minicom. AUTHOR
Miquel van Smoorenburg, <miquels@drinkel.ow.org> Jukka Lahtinen, <walker@clinet.fi> User's Manual $Date: 2000/02/10 10:28:00 $ RUNSCRIPT(1)
All times are GMT -4. The time now is 07:38 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy