Bug#538334: initscripts: /etc/init.d/bootlogd oddities
Cristian Ionescu-Idbohrn
cristian.ionescu-idbohrn at axis.com
Fri Nov 16 13:10:18 GMT 2018
On Fri, 16 Nov 2018, Dmitry Bogatov wrote:
> [2018-11-15 12:43] Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn at axis.com>
> > The point I was trying to make is that with code like this:
> >
> > cd /var/log && {
> > ... do stuff ...
> > }
> > ^
> > after the closed curly bracket above, if $? is _not_ 0 either the `cd'
> > command failed or some stuff inside the command list. But with:
> >
> > ! cd /var/log || {
> > ... do stuff ...
> > }
> > ^
> > at this point, if $? is _not_ 0 then you can be sure some stuff inside
> > the command list failed.
>
> Your proposal changes semantics. For my uneducated view, considering failed
> `cd /var/log' as `$? = 0' is strange.
I agree, after reading the code again.
The exit status is saved in the ES variable and shown if $VERBOSE != no.
Still, as the last command in the script is ':', the script returns
exit status success, which might be a lie.
Cheerrs,
--
Cristian
More information about the Debian-init-diversity
mailing list