Sponsored Content
Full Discussion: Expect return code
Top Forums UNIX for Beginners Questions & Answers Expect return code Post 303013166 by drysdalk on Friday 16th of February 2018 06:49:57 AM
Old 02-16-2018
Hi,

I think the problem here (though I'm far from an expect expert, or indeed a regular user of it) is that the $? variable is a bash feature, and not an expect one. That's not how you capture exit values in expect.

So what's actually happening here is that your variable retcode is becoming equal to, quite literally, the string $?. And that's why your comparison fails later on.

I believe to capture exit values in expect you have to use the wait command to hang about and wait for your sent command to exit, and to capture information relating to how it exited, including among other things its exit value. You could then do a comparison on the information obtained by wait (the fourth value returned by it is I believe the exit value of the last process executed) and do your check that way.

Hope this helps.
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Return code from PL/SQL Code

Hi Guys, I was just wondering if anybody can help me with this problem. OK, how we can get a value back from PL/SQL Script (not stored procedure/function) See the below example: (for example aaa.sh) #!/bin/ksh VALUE=`sqlplus -s user/password@test_id <<EOF @xxx.sq EOF` echo $VALUE ... (7 Replies)
Discussion started by: Shaz
7 Replies

2. Shell Programming and Scripting

how to get error return code

I have a unix AIX script that ftps some files (mput, mget). How can I check (in the script) to see if the ftp failed? After the ftp I move the files out of the directory but do not want to move files that have not been sent. The script will run as a cron job. (2 Replies)
Discussion started by: rayg50
2 Replies

3. Shell Programming and Scripting

asking about return code

hi all my system is linux red hat i have a script that runs some object . the object return some code to the system i see the code by writing echo $? i want to ask in the script if $? equals 14 how shell is do that in the script thanks (3 Replies)
Discussion started by: naamas03
3 Replies

4. UNIX for Dummies Questions & Answers

to pick up the Return Code ( RC) from the mailx command and return it to SAS uisng 's

Hi All, Can anyone please let me know the syntax / how to pick up the Return Code ( RC) from the mailx command and return it to SAS uisng 'system()' function and '${?}'. I am in a process to send the mail automatically with an attachment to bulk users. I have used 'Mailx' and 'Unencode'... (0 Replies)
Discussion started by: manas6
0 Replies

5. Shell Programming and Scripting

Need help with return code 1...

Hi Guys,, I am having a unix script which is running the DB2 Insert command. For the insert command, there were no records to be updated. SQL0100W No row was found for FETCH, UPDATE or DELETE; or the result of a query is an empty table. SQLSTATE=02000 + + echo 1 STAGE_RC=1 + ] ... (6 Replies)
Discussion started by: mac4rfree
6 Replies

6. Shell Programming and Scripting

return code help

Hello folks, I have a question that if i type ls command and type echo $? it always show "0", how i could do this change that when i type ls it will show me 1, actually i want to change the return code of commands from 0 to 1. Thanks Bash (5 Replies)
Discussion started by: learnbash
5 Replies

7. Shell Programming and Scripting

Getting error return code

I need to try and get the error return code from the tar command when being used as follows: tar tvf tarfile 2>logfile | tee -f outputfile ErrorStat="$?" I would like to save the error return code from the tar command in a variable, howver, the example above it is saving the 'tee' error... (7 Replies)
Discussion started by: nck
7 Replies

8. Shell Programming and Scripting

How could I use the value of return code

Hello, I am woring on a script where I am getting strange situation.This script actually fetch the source code and tar that code and send to NAS location.This code resides in MKS tool...and we are fetching the source code on checkpoint label basis and script is working fine.First it synch the... (0 Replies)
Discussion started by: anuragpgtgerman
0 Replies

9. Shell Programming and Scripting

How to return value from expect script?

Hi there. There is a shell script: #!/bin/bash ARGS=`(grep -i $1 old.txt || grep -i $1 new.txt) |awk 'BEGIN {FS=","}{print "\x27" $5 "\x27"}' | tr "\n" " "` /usr/bin/expect -- << EXPECTEND spawn -noecho myssh myhost.localnet log_user 0 expect root log_user 1 send "/home/one.pl... (4 Replies)
Discussion started by: urello
4 Replies

10. Shell Programming and Scripting

Expect in bash to get the return value

cat test.sh #!/bin/sh expect <<- EOF set timeout 5 spawn ssh -o StrictHostKeyChecking=no lyang0@128.224.178.245 -C mkdir -p /tmp expect { "Password:" {send "root\r"} } spawn scp -o StrictHostKeyChecking=no /tmp/1 lyang0@128.224.178.245:/tmp/ ... (1 Reply)
Discussion started by: yanglei_fage
1 Replies
WAIT(1) 						    BSD General Commands Manual 						   WAIT(1)

NAME
wait -- await process completion SYNOPSIS
wait [pid] DESCRIPTION
If invoked with no arguments, the wait utility waits until all existing child processes in the background have terminated. Available operands: pid If a pid operand is specified, and it is the process ID of a background child process that still exists, the wait utility waits until that process has completed and consumes its status information, without consuming the status information of any other process. If a pid operand is specified that is not the process ID of a child background process that still exists, wait exits without waiting for any processes to complete. The wait utility exits with one of the following values: 0 The wait utility was invoked with no operands and all of the existing background child processes have terminated, or the process specified by the pid operand exited normally with 0 as its exit status. >0 The specified process did not exist and its exit status information was not available, or the specified process existed or its exit status information was available, and it terminated with a non-zero exit status. If the specified process terminated abnormally due to the receipt of a signal, the exit status information of wait contains that termination status as well. STANDARDS
The wait command is expected to be IEEE Std 1003.2 (``POSIX.2'') compatible. BSD
June 5, 1993 BSD
All times are GMT -4. The time now is 08:57 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy