Help with Expect Utility


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with Expect Utility
# 1  
Old 10-04-2019
Help with Expect Utility

Hi aLL,

I have a requirement where in i need to read the file from while loop as shown in the code below

Code:
while read line
do
command $line
done < list.txt

But after every command it asks if i want to really go ahead with the execution since there are several other lines in the list.txt i cannot answer manually, can i automate the same using Unix's Expect Utility, i tried using the command but no luck.

Code:
#!/usr/bin/expect
#use correct prompt

while read line
do
eval spawn command $line
set prompt ":|#|\\\$"
interact -o -nobuffer -re $prompt return
send "y\r"
done < list.txt

# 2  
Old 10-04-2019
I do not know expect well, but I know enough to warn you that it's not a shell. It can't (directly) run shell code. It is tcl if I remember right.
# 3  
Old 10-05-2019
Thanks Corona for your reply.
Can the problem statement be addressed differently without using expect.
# 4  
Old 10-06-2019
Quote:
Originally Posted by nikhil jain
Thanks Corona for your reply.
Can the problem statement be addressed differently without using expect.
That depends. Do the commands read from stdin? Are those commands' user prompts always in the same order, and always of the same length? If none of these, it might become difficult, unless a command offers e.g. an option like "always assume 'yes' as an answer".
Providing a decent sample situation including commands and possible answers / interactive input might have helped here.
For simple cases, you could provide the answers on a different file descriptor. Try
Code:
while read line
  do    <&3 command $line
  done <cmdfile 3<answfile

or, in case all commands can be satisfied with identical answers, e.g. (needs a recent shell like bash for the "here string")

Code:
while read line
  do    command $line <<< $'y\ny\ny\n'
  done <cmdfile


Last edited by RudiC; 10-07-2019 at 04:04 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

lftp is not working.how to replace lftp with expect utility using same .cfg file.

We have lftp command inside shell file. which is intern calling .cfg file for transferring the file from one server to other. Below command to not working. lftp -e "set net:max-retries 1; set net:reconnect-interval-base 1; put -E -O /destinationdir/inbox/ /sourcedir/test.txt; bye" -u... (4 Replies)
Discussion started by: johnsnow
4 Replies

2. 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

3. Solaris

Expect utility not working for Solaris 11

iam withdrawing this thread , It was my mistake I didn't read the code properly (0 Replies)
Discussion started by: boncuk
0 Replies

4. Shell Programming and Scripting

Special Character issue in Expect Utility (Tcl)

Hi, I have written a unix expect utility "ssh-login.exp" which connects (ssh) to remote host and execute some shell script. I am calling this "ssh-login.exp" utility from another shell script. "ssh-login.exp" takes username, password, host and shell script path to execute on remote host. All... (1 Reply)
Discussion started by: Mahesh Desai
1 Replies

5. 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

6. 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

7. Shell Programming and Scripting

How to Unzip a file using unzip utility for files zipped without zip utility ?

Hi, I need to zip/compress a data file and send to a vendor. The vendor does have only unzip utility and can accept only .ZIP files. I do not have zip utility in my server. How do I zip/compress the file so that it can be deflated using unzip command ? I tried gzip & compress commands, but... (1 Reply)
Discussion started by: Sabari Nath S
1 Replies

8. 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

9. 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

10. 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
Login or Register to Ask a Question