

If your script starts with , both bash and zsh will run it fine. The bigger problem is the programs, filesystem and libraries being different. Which is why POSIX exists, if you’re looking to write stuff that works across systems.
I couldn’t tell if you were honestly asking for explanations or if all of your complaints sum up to “it’s different and I don’t like that”. Which honestly, fair.


What bash scripts are you writing that you expect to run on both a Mac laptop and a production linux server? You can install the newer bash if that’s what you’re used to, but you’re surely going to run into issues like
ls . -lahfar quicker than differences in bash since 3.2Even on a linux desktop you’re going to have differences from a production server, you’d want to be using something like ansible, or replicating production in a local test environment in a container or VM. Exactly like you have done.
How’d you end up being the only one at your workplace to be given a Mac? Even with a linux VM, being on ARM can cause issues with compatibility.