[ale] bash return and exit
Scott Plante
splante at insightsys.com
Tue Sep 17 12:24:09 EDT 2013
I'm not sure I understand what you're trying to do, but it appears you're confusing standard out with return code. Backticks `cmd` and $(cmd) capture the standard output of a command. That's separate from the return code, which is meant to be zero if all works or some other number indicating the type of error. The $? resolves to the most recent return code, but you could also do this:
if do_something
then echo ok
else echo sorry bub
fi
and bypass the $?
Sorry, in a hurry. Hope I didn't typo or make a mistake.
Scott
----- Original Message -----
From: "leam hall" <leamhall at gmail.com>
To: "Atlanta Linux Enthusiasts" <ale at ale.org>
Sent: Tuesday, September 17, 2013 12:06:44 PM
Subject: [ale] bash return and exit
I've looked at a few google searches and am not sure I understand what I'm seeing. In bash, I want to have a function do a test, and have a variable in the calling program set based on the function's actions. So far it seems as if I have to either "echo" the result or have the calling function use $?.
Calling script:
MY_VAR=`my_function`
# This fails:
my_function() {
do_something
return $?
}
# This works:
my_function() {
do_something
if [ $? -eq 0 ]
echo 0
else
echo 1
fi
}
The first function works if the parent's calls:
MY_VAR=`my_function; echo $?`
Am I looking for something that's just not in bash?
Leam
--
Mind on a Mission
_______________________________________________
Ale mailing list
Ale at ale.org
http://mail.ale.org/mailman/listinfo/ale
See JOBS, ANNOUNCE and SCHOOLS lists at
http://mail.ale.org/mailman/listinfo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ale.org/pipermail/ale/attachments/20130917/5b133bab/attachment.html>
More information about the Ale
mailing list