On Sun, Jul 29, 2018, at 08:50, Laurent Bercot wrote:
> >`execline` does indeed exits when not given arguments, and displays the
> >error `execlineb: warning: too few arguments: expecting at least 1 but
> >got 0` but the first command gets run.
> >
> >```
> >$ execlineb -S1 -c 'echo wrong'
> >execlineb: warning: too few arguments: expecting at least 1 but got 0
> >wrong
> >```
> 
>   It's not an error, it's actually a bugfix. As you can see, the message
> is a "warning", not a "fatal", which means it does not stop the
> program from running. It has always been intended this way.
>   If you want to enforce a minimal number of arguments and exit if
> that number is not reached, you have to do it from inside the script
> with something like "if { test $# -ge 1 }".
> 
>   That said, it's probably useful functionality for the execlineb
> binary to have, so I'll consider having a switch implementing it
> for a future version.

That switch already exists :). Running execlineb with -W gets the desired 
result:
$ execlineb -WS1 -c 'echo wrong'
execlineb: fatal: too few arguments: expecting at least 1 but got 0

I would think this would be equivalent:
$ EXECLINE_STRICT=2  execlineb -S1 -c 'echo wrong'
however, it reverts back to showing a warning.

Reply via email to