The surrounding "set +e"/"set -e" was an earlier attempt to fix this, but I mixed -e up with -u. But as Cole points out, it's nicer to use parameter expansion here anyway. Thanks-to: Cole Helbling --- On Tue, Aug 25, 2020 at 10:26:30AM -0700, Cole Helbling wrote: > > -set +e > > +set +u > > if [ -n "$XDG_RUNTIME_DIR" ] > > Rather than using `set`, I, personally, would change this line to be: > > if [ -n "${XDG_RUNTIME_DIR:-}" ] > > (as well as the matching check for $WAYLAND_DISPLAY). > > Though this is just a matter of opinion, I think it is cleaner than > using `set`s (but only really because I have no idea what all the `set`s > do, without context). > > > then > > set -- -s "$XDG_RUNTIME_DIR" "$@" > > @@ -63,7 +63,7 @@ then > > then set -- --wayland-sock "$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" "$@" > > fi > > fi > > -set -e > > +set -u pkgs/os-specific/linux/spectrum/spectrum-vm/spectrum-vm.in | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/spectrum/spectrum-vm/spectrum-vm.in b/pkgs/os-specific/linux/spectrum/spectrum-vm/spectrum-vm.in index 4fa0287a805..a72c3896141 100755 --- a/pkgs/os-specific/linux/spectrum/spectrum-vm/spectrum-vm.in +++ b/pkgs/os-specific/linux/spectrum/spectrum-vm/spectrum-vm.in @@ -55,15 +55,13 @@ do esac done -set +e -if [ -n "$XDG_RUNTIME_DIR" ] +if [ -n "${XDG_RUNTIME_DIR-}" ] then set -- -s "$XDG_RUNTIME_DIR" "$@" - if [ -n "$WAYLAND_DISPLAY" ] + if [ -n "${WAYLAND_DISPLAY-}" ] then set -- --wayland-sock "$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" "$@" fi fi -set -e exec "$crosvm" run \ -p init=/sbin/init \ -- 2.30.0