[Top][All Lists]

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

Re: Return from function depending on number of parameters

From: Chris Elvidge
Subject: Re: Return from function depending on number of parameters
Date: Sat, 4 Jul 2020 12:01:44 +0100
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1

On 03/07/2020 10:39 pm, Lawrence Velázquez wrote:
On Jul 3, 2020, at 2:00 PM, Chris Elvidge <celvidge001@gmail.com> wrote:

However 'N=0; echo $((!$N))' gives an error at the bash prompt.
'echo $[!$N]' echo's 1 as expected.

My question - is $[...] actually obsolete?

It might tell you something that $[...] is not even mentioned in
the man page for bash 3.2.57, which is decidedly not the current

If so, what should I use at the bash prompt to get the same effect?

I expect that the error you encountered was caused by !$ expanding
to the last word of the previous command and making the contents
of $((...)) an invalid arithmetic expression. This didn't affect
your scripts because history expansion is not enabled in non-interactive
shells by default.

Try inserting a space.

        $ N=0; printf %s\\n "$((! $N))"

You can even drop the $.

        $ N=0; printf %s\\n "$((! N))"


Thanks for the info.
It also explains why I couldn't find a reference to $[...] except in the reference I quoted.


Chris Elvidge

5 Ebor Park, Appleton Roebuck, York.  YO23 7DZ.
Tel (Mob): +447443472958 mailto:celvidge@outlook.com

Calle Padre Raimundo Codesal 1, Vélez-Málaga, 29700, España

reply via email to

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