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