Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #16530
| From | Lawrence Velázquez <vq@larryv.me> |
|---|---|
| Newsgroups | gnu.bash.bug |
| Subject | Re: Return from function depending on number of parameters |
| Date | 2020-07-03 17:39 -0400 |
| Message-ID | <mailman.908.1593812399.2574.bug-bash@gnu.org> (permalink) |
| References | <b1c19d38-64c0-f1ae-d08a-1ada435a0022@gmail.com> <506AA493-0D79-4A9A-A53E-279FDA72CED5@larryv.me> |
> 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 version. > 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))" 1 You can even drop the $. $ N=0; printf %s\\n "$((! N))" 1 vq
Back to gnu.bash.bug | Previous | Next | Find similar
Re: Return from function depending on number of parameters Lawrence Velázquez <vq@larryv.me> - 2020-07-03 17:39 -0400
csiph-web