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