On Thu, Mar 19, 2020 at 04:59:46PM +0100, de...@sumpfralle.de wrote:
> After taking a closer look at the man pages of both shell implementations, 
> this
> seems to be in line with their respective documentations:
> 
> 1) dash
> Syntax: name () command
> Thus *any* command is allowed (including "true").
> 
> 2) bash
> Syntax: name () compound-command
> Here "compound-command" means any non-trivial command, e.g. surrounded by
> braces or "if ...; fi" and so on. A single command ("true") is not explicitly
> mentioned and obviously is rejected.

interesting. i didn't realise dash allowed that.  looks like ksh and ash do too.

> Thus I assume, that you are using bash as your "sh" implementation?

yep. on this particular machine, /bin/sh has been a symlink to /bin/bash since
1994 or so, i've never had any compelling reason to change it (and i really
don't care about a few seconds difference in boot time as i only reboot it
once or twice a year).

i think most of my machines are using bash - but they only have munin-node
installed, and not the munin package.

> I will fix this issue in the next packaging update. Thank you!

thanks.

The "foo() {true;}" version works for bash and dash.

craig

--
craig sanders <c...@taz.net.au>

Reply via email to