On Thu, Mar 19, 2020 at 04:59:46PM +0100, [email protected] 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 <[email protected]>