Sponsored Content
Full Discussion: Issues with Expect Script
Top Forums Shell Programming and Scripting Issues with Expect Script Post 302992900 by premseth on Friday 3rd of March 2017 10:28:59 AM
Old 03-03-2017
Issues with Expect Script

Hi,

does the expect script tries to match for everyline on the screen irrespective of the prompts???

Code:
spawn ./Inst.sh
expect "path? (Y/N)"
send "Y\r"
expect "folder path"
send "$DIR1\r"
expect "path? (Y/N)"
send "Y\r"
expect "folder path2"
send "$DIR2\r"

After the installer begins.. it displays various lines before the first expect.
But the script tries to match for every line that is displayed before the 1st and timeouts.

1)Why does it tries to match for every lines that is out in the screen?
Code:
expect: does "" (spawn_id exp5) match exact string "path? (Y/n)"? no
Native ignore this if not using solaris OS.no stlport in java.library.path
expect: does "Native ignore this if not using solaris OS.no stlport in java.library.path" (spawn_id exp5)
 match exact string "path? (Y/n)"? no

when it finds the actual matches - the send is passed
Code:
expect: does ".............................path? (Y/n) \r\n" (spawn_id exp5) match glob pattern "path? (Y/n)"? yes
 expect: set expect_out(0,string) "path? (Y/n)"
expect: set expect_out(spawn_id) "exp5"
 send: sending "Y\r" to { exp5 }


2) and also it appends the previous results to next and the expect statement is appended recursively
Code:
expect: does " \r\n" (spawn_id exp5) match glob pattern "folder path"? no
Y
expect: does " " (spawn_id exp5) match glob pattern "folder path$"? no
expect: does " \r\n" (spawn_id exp5) match glob pattern "folder path$"? no
Y
expect: does " \r\nY\r\n" (spawn_id exp5) match glob pattern "folder path$"? no
folder path:
expect: does " \r\nY\r\n\r\nfolder path: \r\n" (spawn_id exp5) match glob pattern "folder path$"? no
expect: timed out
send: sending "/path/xx\r" to { exp5 }

because of this the expect statements gets varying including the newlines and the order is not maintained.

what is that i'm missing here?

thanks
 

10 More Discussions You Might Find Interesting

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

2. Shell Programming and Scripting

Issues with Expect

Here is a snippet of code that work for me: expect "abc" {send_log "abc found" } \ "def" {send_log "def found" } \ "123" {send_log "123 found} however the following does not and according to the book "Exploring Expect" it should be equivalent: expect { "abc"... (1 Reply)
Discussion started by: twk
1 Replies

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

4. Shell Programming and Scripting

Expect issues

Hi all, I'm new with expect. I'm developing a quick script to check my sudo access on 100 servers. So using !/bin/usr/expect doesn't work. So decided to use it as : expect -c "set timeout -1;\ spawn ssh $IPADDR -l $USERID ;\ match_max 100000;\ expect { -re... (0 Replies)
Discussion started by: EmersonOrci
0 Replies

5. Shell Programming and Scripting

Expect script help needed- script failing if router unavailable

Hey all. Sometimes I'm tasked to change some router configs for the entire network (over 3,000 Cisco routers). Most of the time its a global config parameter so its done with a loop and an IP list as its the same configuration change for all routers. This is working OK. However, sometimes an... (3 Replies)
Discussion started by: mrkz1974
3 Replies

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

7. UNIX for Advanced & Expert Users

Unable to run the script on remote machine Using Expect script

Not able to execute the file in remote host using except utility I am automating the SFTP keys setp process: So i created the expect script for controlling the output of shell below is my main code: Code: #!/usr/bin/expect set fd set password close $fd set df set app close $df... (1 Reply)
Discussion started by: Manoj Bajpai
1 Replies

8. Programming

Calling another expect script inside an expect script

I have an expect script called remote that I want to call from inside my expect script called sudoers.push, here is the code that is causing me issues: set REMOTE "/root/scripts/remote" ... log_user 1 send_user "Executing remote script as $user...\n" send_user "Command to execute is: $REMOTE... (1 Reply)
Discussion started by: brettski
1 Replies

9. Shell Programming and Scripting

SFTP or scp with password in a batch script without using SSH keys and expect script

Dear All, I have a requirement where I have to SFTP or SCP a file in a batch script. Unfortunately, the destination server setup is such that it doesn't allow for shell command line login. So, I am not able to set up SSH keys. My source server is having issues with Expect. So, unable to use... (5 Replies)
Discussion started by: ss112233
5 Replies

10. 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
script(1)							   User Commands							 script(1)

NAME
script - make record of a terminal session SYNOPSIS
script [-a] [filename] DESCRIPTION
The script utility makes a record of everything printed on your screen. The record is written to filename. If no file name is given, the record is saved in the file typescript. See WARNINGS. The script command forks and creates a sub-shell, according to the value of $SHELL, and records the text from this session. The script ends when the forked shell exits or when Control-d is typed. OPTIONS
The following option is supported: -a Appends the session record to filename, rather than overwriting it. NOTES
script places everything that appears on the screen in filename, including prompts. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |CSI |Enabled | +-----------------------------+-----------------------------+ SEE ALSO
attributes(5) WARNINGS
script can pose a security risk when used in directories that are writable by other users (for example, /tmp), especially when run by a privileged user, that is, root. Be sure that typescript is not a link before running script. SunOS 5.10 30 Jan 2004 script(1)
All times are GMT -4. The time now is 05:39 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy