Even so, why didn't they make it somewhat compatible with other shells? I mean all shells use special features, be it ksh, bash or zsh, but they all support plain sh. For instance, GNU autotools' configure script doesn't use extra features and it can run everywhere *except* Windows because ps doesn't support basic shell syntax! Did they really have to invent a new syntax for basic features to support the extra ones when others shells do not have to?

If your scripting language doesn't run *everywhere* then you are wasting your time (unless you a relatively small organisation, in which case any solution would work).

Any big organisation has a lot of all kinds of environments. Plus, whatever you are running on now is not what you'll be running on in the future, so why not future-proof yourself by choosing portable solutions. That is, something other than "fashion-of-the-day" PowerShell.

It makes better business sense to be portable unless you are a "ohh, look, shiny new features" kind-of-guy rather than someone who wants to get stuff done. Plus other (usually less talented) folks be need to be able to maintain your stuff otherwise you'll never be able to be promoted.