Use { ... }
for grouping without the overhead and side-effects of a subshell (as created by ( ... )
). [[ ]]
is a different syntax, only available in ksh derivatives such as bash, which replaces [ ... ]
with a less-error-prone alternative; it isn't available in baseline POSIX shells.
[ ! -f /boot/loader.conf ] || \
{ [ -f /boot/loader.conf ] && ! grep -Fqx "zfs_load" /boot/loader.conf; }