Expect Script - Pattern Matching Trouble


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Expect Script - Pattern Matching Trouble
# 1  
Old 01-13-2013
Expect Script - Pattern Matching Trouble

I am still learning expect, For the below script I always get This is True as the answer. Tried to debug and does not make sense to me. Not sure, where I am doing the mistake. Need Help! - Thanks

Code:
#!/usr/bin/expect -f
set timeout 10
spawn -noecho bash
expect { *$* }
send "test -d /home/ron/pectd/ && export PS1=\"True>\" || export PS1=\"False>\"\r" 
send "\n"


expect { 
    -exact "True>" {
            send_user "This is True\n"
        }
    -exact "False>" {
           send_user "This is False\n"
        }
    timeout {
            send_user "Something is wrong \n"
            exit 1
        }
}

# 2  
Old 01-14-2013
Try this to determine if directory exists:
Code:
if {[file exists "/home/ron/pectd/"] == 1} {
  puts "DIR exists!";
} else {
  puts "DIR does NOT exist!";
}

You're not going to be able to modify the caller's shell because it's in a different process context. When child processes inherit your shell's variables, they're inheriting copies themselves.
# 3  
Old 01-14-2013
Thanks for the reply. Was wondering whether this will work if I need to check the directory on multiple machines by ssh'ing to each one.
# 4  
Old 01-15-2013
Not sure what you're trying to accomplish, but you don't need 'expect/tcl' to check if directory exists on remote, Try this:
Code:
ssh user@host test -d /home && echo exists

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Expect pattern matching in the command output

This is the command output need to be matched: Telnet console listening to port 42365. (the port number changes every time) Code to test it: ======================================= #!/tools/AGRtools/bin/expect exp_internal 1 set timeout 10 spawn bash set bashId $spawn_id ... (4 Replies)
Discussion started by: marsala
4 Replies

2. Shell Programming and Scripting

Non-greedy pattern matching in shell script

Hi all, Is Perl included by default in Ubuntu? I'm trying to write a program using as few languages as possible, and since I'm using a few Perl one-liners to do non-greedy matching, it's considered another language, and this is a bad thing. Basically, I'm using a Perl one-liner to grab XML... (3 Replies)
Discussion started by: Zel2008
3 Replies

3. Shell Programming and Scripting

Pattern matching and replace in shell script

Hi I want to find a line in a file which contains a word and replace the patterns. Sample file content temp.xml ==================== <applications> <application> Name="FirstService" location="http://my.website.selected/myfirstService/V1.0/myfirst.war" ... (1 Reply)
Discussion started by: sakthi.99it
1 Replies

4. Shell Programming and Scripting

Pattern Matching in Perl script

I have a big perl script need to fix a small pattern matching inside .. I have patterns like create unique index create index The pattern matching should look for both the pattern in the same statement, The existing matching looks for only "create unique index" The exising code for this i... (6 Replies)
Discussion started by: greenworld123
6 Replies

5. UNIX for Dummies Questions & Answers

Matching pattern script (sed or awk?)

Hi Guys, I am new to the forum and to scripting so bear with me. Thanks, Gary. I have 3 files - file1, file2, file3 I am trying to come up with a script that will check the output of these files and if the 1st nine fields are matched in all 3 files, echo "The following string had been... (2 Replies)
Discussion started by: gazza-o
2 Replies

6. Shell Programming and Scripting

Pattern matching in shell script

Hi, I am using following command to extract string from a file. String will be after last / (slash). awk -F\ / '{print $NF}' $FILE but while appending the output in file in script, it dosent work. File created but of zero size... can anyone please help `awk -F\\\/ '{print $NF}' $FILE` >... (3 Replies)
Discussion started by: Deei
3 Replies

7. Shell Programming and Scripting

shell script pattern matching

Hi, I need to create a shell script through which i need to populate email addresses in email columns of database table in mysql. Let say if email contains yahoo, hotmail, gtalk than email addresses need to move in their respective columns. # !/bin/sh yim="example@yahoo.com"... (3 Replies)
Discussion started by: mirfan
3 Replies

8. Shell Programming and Scripting

Pattern matching problem in PERL script

Hi Friends, As my old friends knows, I'm old to shell script but very new to perl script, currently I'm writing a PERL script with the following functionality: I've multiple product directories, like BUSS, FIN, SALES, MKT etc., : /export/home/GLK/BUSS, /export/home/GLK/FIN, ... (11 Replies)
Discussion started by: ganapati
11 Replies

9. Shell Programming and Scripting

Pattern matching in a shell script?

I'm looking for a way to match a particular string in another string and if a match is found execute some command. I found the case statement can be used like this; case word in ) command ;; ] ... esac If my string to find is say "foo" in the string $mystring... (1 Reply)
Discussion started by: paulobrad
1 Replies

10. Shell Programming and Scripting

Script to find file name for non matching pattern

Hi, I want to list only the file names which do not contain a specific keyword or search string. OS: Solaris Also is there any way ; through the same script I can save the output of search to a CSV (comma seperated) so that the file can be used for inventory purpose. Any assistance will... (5 Replies)
Discussion started by: sujoy101
5 Replies
Login or Register to Ask a Question