[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mod arithmetic result 0 gives error exit status

From: Chris F.A. Johnson
Subject: Re: mod arithmetic result 0 gives error exit status
Date: Mon, 10 Oct 2005 20:24:06 -0400 (EDT)

On Mon, 10 Oct 2005, Duane Ellis wrote:

       GNU bash, version 3.00.15(1)-release (i386-redhat-linux-gnu)
       {came with Red Hat EL-4}


       Valid math operations results give an ERROR exit status.

While this is a documented feature [4.2 of the info file]

       If the last EXPRESSION evaluates to 0,
       `let' returns 1; otherwise 0 is returned.

grr grrr ... it was not expected, and bash treats it as an ERROR

       bash$ let A=1-1
       bash$ echo $?

     I treat "let" as an error, since it is not portable. Use the
     portable arithmetic syntax and you do not get an error:

A=$(( 1 - 1 ))

Info file: "6.5 Shell Arithmetic" where available operators are
listed implies that the only "error" that can occur is division by

       "[snip] with no check for overflow, though division
       by 0 is trapped and flagged as an error."

Implies otherwise.


Duane Ellis

Bug-bash mailing list

    Chris F.A. Johnson                     <http://cfaj.freeshell.org>
    Shell Scripting Recipes: A Problem-Solution Approach, 2005, Apress

reply via email to

[Prev in Thread] Current Thread [Next in Thread]