Isn't that like arguing that one should code only in the form of polyglots that would run on any major programming language? The reality is that bash itself is both highly portable and already widely ported: in 2017 (or 2007) my bash script will run on essentially as many platforms as your POSIX shell script (including the aforementioned HP-UX: the last time I had access to one of those I definitely had access to a copy of bash; there was no reasonable JVM available!! but I definitely had bash).
the nice thing about standards is that you don't have to make sure the script runs in a billion different shells. You just have to make sure your code is POSIX compatible, and all of a sudden, all POSIX compatible shells will interpret it just fine! Isn't that fantastic?
> And yes, `[[ ... ]]` is a bashism. It's not going work on the HP-UX box, that you do not have in your server fleet.
I wish. I've to take care not to break things like AIX, HP-UX, Solaris 10, Openbsd 5.1. That's an open source project, but there've been actual production customers complaining when we broke things in the past...
EDIT: corrected openbsd version, machine has been updated since the last complaint