[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Return from function depending on number of parameters
From: |
Eli Schwartz |
Subject: |
Re: Return from function depending on number of parameters |
Date: |
Fri, 3 Jul 2020 18:16:32 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 |
On 7/3/20 2:00 PM, Chris Elvidge wrote:
> I've used 'return $((!$#))' and 'return $[!$#]' to return an error if no
> parameters given to function.
>
> Tested in a bash script 'exit $((!$#)) / $[!$#]' - both work.
>
> 'echo $((!$#)) / $[!$#]' - both echo 1 when no params, 0 when any
> number of params.
>
> I'm told ( https://wiki.bash-hackers.org/scripting/obsolete ) that
> $[...] is obsolete and that $((...)) should be used instead. OK so far.
>
> However 'N=0; echo $((!$N))' gives an error at the bash prompt. 'echo
> $[!$N]' echo's 1 as expected.
"gives an error" is a useless bug report. It works for me.
$ N=0; echo $((!$N))
1
My initial reaction to reading this thread is head scratching!
As the other reply mentioned, there's actually a good explanation for
why we get different results -- I disabled an annoying feature.
$ set -o histexpand
Now here's a useful bug report. "When I run this, I get the following
incorrect results or error message":
$ N=0; echo $((!$N))
N=0; echo $((histexpandN))
0
$ N=0; echo $((!$N))
N=0; echo $(()N))
-bash: syntax error near unexpected token `)'
$ N=0
$ echo $((!$N))
echo $((N=0N))
-bash: N=0N: value too great for base (error token is "0N")
...
From there, people can give useful advice for solving the problem. (My
preferred advice is "disable histexpand".)
--
Eli Schwartz
Arch Linux Bug Wrangler and Trusted User
signature.asc
Description: OpenPGP digital signature
- Re: Return from function depending on number of parameters, (continued)
- Re: Return from function depending on number of parameters, Lawrence Velázquez, 2020/07/03
- Re: Return from function depending on number of parameters, Chris Elvidge, 2020/07/04
- Re: Return from function depending on number of parameters, pepa65, 2020/07/04
- Re: Return from function depending on number of parameters, Oğuz, 2020/07/04
- Re: Return from function depending on number of parameters, Lawrence Velázquez, 2020/07/04
- Re: Return from function depending on number of parameters, Chet Ramey, 2020/07/05
- Re: Return from function depending on number of parameters, Chris Elvidge, 2020/07/10
- Re: Return from function depending on number of parameters, Chet Ramey, 2020/07/10
- Re: Return from function depending on number of parameters, Greg Wooledge, 2020/07/10
Re: Return from function depending on number of parameters, Chris Elvidge, 2020/07/04
Re: Return from function depending on number of parameters,
Eli Schwartz <=
Re: Return from function depending on number of parameters, Greg Wooledge, 2020/07/06