Sponsored Content
Top Forums Shell Programming and Scripting expect - How to ignore empty lines? Post 302383083 by whbos on Monday 28th of December 2009 09:31:20 AM
Old 12-28-2009
expect - How to ignore empty lines?

Hi all,

I'm looking for a way to generate an error when a command does not print an expected message. For example :

test.sh :
Code:
echo hi!

test.exp :
Code:
exp_internal 1
spawn ./test.sh
expect {
  "hi!" {puts "bingo!"}
  "*" {puts "error!" ; exit 1}
}

I expected test.exp to match the string "hi!" but it turns out that an empty string is matched first (printed in blue) :

Code:
spawn ./test.sh
parent: waiting for sync byte
parent: telling child to go ahead
parent: now unsynchronized from child
spawn: returns {2650126}

 expect: does "" (spawn_id exp4) match glob pattern "hi!"? no
"*"? yes
expect: set expect_out(0,string) ""
expect: set expect_out(spawn_id) "exp4"
expect: set expect_out(buffer) ""
error!

I tried some alternatives like first clearing the expect buffer with `expect "*"` or matching it with `expect ""`, etc. but the empty string is not deleted. Any suggestions?

Regards,
Willem.

Last edited by whbos; 12-28-2009 at 11:17 AM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Removing duplicate lines ignore case

hi, I have the following input in file: abc ab a AB b c a C B When I use uniq -u file,the out put file is: abc ab AB c v B C (17 Replies)
Discussion started by: hellsd
17 Replies

2. Shell Programming and Scripting

Make sed ignore lines

Hi I use sed in a script for severall changes in files. I whish one of the substitutions I made to be aplied to every line that has the word "scripts" with the exception for the ones that start with "rsh", wich I wish sed to ignore . Is this possible? If yes, how can I do it? The substitution... (2 Replies)
Discussion started by: Scarlos
2 Replies

3. Shell Programming and Scripting

Ignore Lines Begining With #

Is there a standard way to make a shell script read a file, or list, and skip each line that contains # at the begining, or ignores the content starting after a # in line? I'm looking to mimic the way commenting in a shell script normally works. This way I can comment my text files and lists my... (4 Replies)
Discussion started by: sysera
4 Replies

4. Shell Programming and Scripting

How can I ignore only the lines which have # at the begining?

From the below file I want to grep only the lines except the comment sections. But grep -v "#" is eliminating the last line because it has one # in between. Any idea how can I ignore only the lines which have # at the begining (I mean comment lines) ? Thanks a lot to all in advance C Saha (1 Reply)
Discussion started by: csaha
1 Replies

5. Shell Programming and Scripting

awk, ignore first x number of lines.

Is there a way to tell awk to ignore the first 11 lines of a file?? example, I have a csv file with all the heading information in the first lines. I want to split the file into 5-6 different files but I want to retain the the first 11 lines of the file. As it is now I run this command: ... (8 Replies)
Discussion started by: trey85stang
8 Replies

6. Shell Programming and Scripting

Ignore identical lines

Hello Experts, I have two files called "old" and "new". My old file contains 10 lines and my new file contains 10 + "n" lines. The first field in both these files contain ID. I sort these two files on ID. I am interested in only the lines that are in the new file and not in old. I tried... (4 Replies)
Discussion started by: forumthreads
4 Replies

7. Shell Programming and Scripting

Removing empty lines(space) between two lines containing strings

Hi, Please provide shell script to Remove empty lines(space) between two lines containing strings in a file. Input File : A1/EXT "BAP_BSC6/07B/00" 844 090602 1605 RXOCF-465 PDTR11 1 SITE ON BATTERY A2/EXT... (3 Replies)
Discussion started by: sudhakaryadav
3 Replies

8. Shell Programming and Scripting

ignore blank lines in while loop

Hi, i am having one text file it contains some blank lines and i want to ignore that blank lines . #! /bin/bash clear rdCount=0; while read myline do echo $myline let rdCount=$rdCount+1 done < ps.txt echo "Total line=$rdCount" and ps .txt contains the data- (17 Replies)
Discussion started by: aish11
17 Replies

9. Shell Programming and Scripting

Ignore lines in Shell Script

Hi, I have a shell script, which reads a *.txt file - line by line. In this text file, I have some lines beginning with "#" that I want to ignore : MY_FILE #blah blah blah 1 blah blah blah 2 blah blah blah 3 #blah blah blah 4 I want my script to read only the following lines... (3 Replies)
Discussion started by: ad23
3 Replies

10. Shell Programming and Scripting

Joining broken lines and removing empty lines

Hi - I have req to join broken lines and remove empty lines but should NOT be in one line. It has to be as is line by line. The challenge here is there is no end of line/start of line char. thanks in advance Source:- 2003-04-34024|04-10-2003|Claims|Claim|01-13-2003|Air Bag:Driver;... (7 Replies)
Discussion started by: Jackceasar123
7 Replies
runtest(1)						      General Commands Manual							runtest(1)

NAME
runtest - the DejaGnu test driver program SYNOPSIS
runtest [ options ] DESCRIPTION
DejaGnu is a framework for running test suites on GNU tools. It is written in expect, which uses Tcl (Tool command language). runtest is the test driver program; use it to control what tests to run, and variations on how to run them. You can find a comprehensive description of DejaGnu and runtest in The DejaGnu Testing Framework or its Info version, dejagnu.info. OPTIONS
--all Print all test output to screen. By default, only unexpected results are displayed. --baud rate Set the baud rate for a serial line connection. Some serial interface programs (like tip) don't use this value but instead use a separate initialization file. --connect type The type of connection to use. The choices are rlogin, telnet, rsh, kermit, tip and mondfe. --debug Turn on expect internal debugging output. All output is logged to a file called dbg.out. The output of the --strace also goes into this file. --help Prints out a help screen and then exits. --host type The configuration string for the host. --ignore test1.exp test2.exp ... Do not run the specified tests. --mail 'name1 name2 ...' Electronic mail addresses to receive test results. --name hostname The network hostname of the target board. --objdir path path is a directory containing compiled test code. --outdir directory The name of a directory for test log output. --reboot Reboot the target board when runtest initializes (if supported). --srcdir path path is a directory containing test directories. --strace N Turns on expect internal tracing to N levels deep. --target type The configuration string for the target. --tool toolname Specify the tool to be tested. toolname controls the test suite applied, and the associated initialization module. --verbose, -v Turns on more debugging output from test cases and DejaGnu utility code. Use more than once to increase output further. --version, -V Prints out the versions of DejaGnu, expect and Tcl. -D[number] Activate the Tcl debugger.number can be either 1 or 0. If it is 1, then the expect shell will break when it starts to run. All ^C's drop DejaGnu back to the debugger prompt. A 0 starts DejaGnu like normal, but a ^C drops to the debugger prompt. Any file name on the command line is assumed to be a subset of the test names to run. Usually these are the names of the expect test driver, ie... special.exp. Makefile style variables are used to specify tool names and their flags; these and other configuration dependent values are saved in the file site.exp, created during configuration. EXIT CODES
runtest sets the exit code to 1 if any of the tests failed, or sets it to 0 if all the tests passed. SEE ALSO
The DejaGnu Testing Framework (dejagnu.info). This is the DejaGnu manual; its source is the SGML files doc/*.sgml. in the DejaGnu distri- bution. AUTHOR
Rob Savoye (rob@welcomehome.org) 29 Jul 2003 runtest(1)
All times are GMT -4. The time now is 09:40 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy