TL;DR: This works:
( ( bar foo ) 1>&2>& & )
So, basically, what this does is run a sub-shell then bury your commands in another sub-shell and closes all STDOUT being reported and is sent to the background. I honestly am still not sure how this works!
&!
Because I use shellcheck with my zsh scripts, the following flagged an unknown error in shellcheck (because shellcheck does not support zsh at the moment) and it wouldn’t lint the file:
() ( foo bar ) &> /dev/null &!
Specifically, it was the &!
that wasn’t working (but is a valid ZSH directive to suppress background output). I would always get job output at the least using most of the suggestions, e.g., on Stack Exchange. So, I went down a Googling rabbit hole with no answers until I landed on:
→ https://www.baeldung.com/linux/run-multiple-commands-in-background
After navigating the formatting issues, I came up with the above Bash-compatible solution to run commands in the background with no output!
🙌