Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #16530 > unrolled thread

Re: Return from function depending on number of parameters

Started byLawrence Velázquez <vq@larryv.me>
First post2020-07-03 17:39 -0400
Last post2020-07-03 17:39 -0400
Articles 1 — 1 participant

Back to article view | Back to gnu.bash.bug

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: Return from function depending on number of parameters Lawrence Velázquez <vq@larryv.me> - 2020-07-03 17:39 -0400

#16530 — Re: Return from function depending on number of parameters

FromLawrence Velázquez <vq@larryv.me>
Date2020-07-03 17:39 -0400
SubjectRe: Return from function depending on number of parameters
Message-ID<mailman.908.1593812399.2574.bug-bash@gnu.org>
> 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

[toc] | [standalone]


Back to top | Article view | gnu.bash.bug


csiph-web