On Wed, Apr 19, 2023 at 05:27:45PM +0200, Laszlo Ersek wrote:
> > Yes, I noticed that too, but I assumed there was a finer point I was
> > missing. :/
> 
> Ah, it's not too relevant, but now I remember what was bothering me,
> about "!": if you embed the original construct in a "set -e"
> environment, it will exit with status 1 on the appropriate branch; but
> if you embed the "! ..." construct, it won't exit!

Indeed, that's another reason to be cautious about ! at a top level.
Most uses of ! are inside conditionals (such as if ! ...; then' where
set -e already can't touch), whereas this snippet is indeed at a top
level,...

> 
> Anyway, the context is not like that here. We pass the command string to
> system(), and I understand "set -e" is not in effect there.

...but you are correct that system() does not use 'set -e'
automatically.  Then again, since shell snippes run in Makefile ARE
supposed to use implicit set -e, it never hurts to be vigilant about
context when looking at shell snippets embedded in a larger file.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org
_______________________________________________
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs

Reply via email to