Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #16543
| From | Greg Wooledge <wooledg@eeg.ccf.org> |
|---|---|
| Newsgroups | gnu.bash.bug |
| Subject | Re: Return from function depending on number of parameters |
| Date | 2020-07-06 07:50 -0400 |
| Message-ID | <mailman.1048.1594036231.2574.bug-bash@gnu.org> (permalink) |
| References | <b1c19d38-64c0-f1ae-d08a-1ada435a0022@gmail.com> <20200706115026.GV22833@eeg.ccf.org> |
On Fri, Jul 03, 2020 at 07:00:54PM +0100, Chris Elvidge wrote: > I've used 'return $((!$#))' and 'return $[!$#]' to return an error if no > parameters given to function. The problem with this is that it *always* returns from the function, even when paramters are given. If you actually want to do what you said, you need a conditional check of some kind, either "if" or "||". (($#)) || return 1 would be my preference, if you really do not want to give any kind of error message to indicate *why* you are returning with a failure code. If you want to add an error message, then I would go with "if". if ((! $#)); then echo "usage: myfunc arg1 ..." >&2 return 1 fi
Back to gnu.bash.bug | Previous | Next | Find similar
Re: Return from function depending on number of parameters Greg Wooledge <wooledg@eeg.ccf.org> - 2020-07-06 07:50 -0400
csiph-web