|
From: | Chris F.A. Johnson |
Subject: | Re: i++ cause bad return code when result is 1 |
Date: | Mon, 26 Aug 2013 22:06:01 -0400 (EDT) |
User-agent: | Alpine 2.00 (LMD 1167 2008-08-23) |
On Tue, 27 Aug 2013, Chris Down wrote:
On 2013-08-26 21:36, David Lehmann wrote:My issue is that the resulting behavior in Exercise 1 does not make sense. The resulting value of i should have no bearing on the exit code. If the addition succeeded, the expression should return 0 (success). If i was not an integer (e.g. i=hello), then I expect (( i++ )) to return a non-zero error code. ...IMHO, of course.That would be pretty much rewriting the entire way that (( works, since the whole point is that it returns a status based upon having a return value that is >0.
Rather, that it is != 0
Compare: $ (( 0 )); echo "$?" 1 $ (( 1 )); echo "$?" 0
$ (( -1 )); echo "$?" 0 -- Chris F.A. Johnson, <http://cfajohnson.com/> Author: Pro Bash Programming: Scripting the GNU/Linux Shell (2009, Apress) Shell Scripting Recipes: A Problem-Solution Approach (2005, Apress)
[Prev in Thread] | Current Thread | [Next in Thread] |