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>