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

Re: bash syntax



On Fri, Jul 30, 2021 at 08:48:28AM +0300, Teemu Likonen wrote:
>     scanimage > /home/mick/DATA/SCANS/scan-$((++ct)).pnm

Correct, but not necessarily an improvement over the original code.
It depends on your taste for complexity.

> You have already got answers but here is another. Bash has a special
> arithmetic evaluation mode which happens in:
> 
>     let ...          # returns true (0) or false (1)
>     (( ... ))        # returns true (0) or false (1)
>     $(( ... ))       # returns the value of the expression

The word "returns" is a bit misleading in the last case.  It doesn't
set the exit status (as seen in the $? special parameter) to the
value of the expression the way the first two set it to 0 or 1.

The last one is a substitution, meaning it's *replaced* inline by the
value of the expression.

echo $((4 + 2))    # equivalent to  echo 6

x=$((x + 1))       # POSIX version of  ((x++))  or  let x++

echo "The size is $size ($((size/(1024*1024))) MB)"


Reply to: