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?

I don't see why it had to be compatible with other shells, it doesn't run on a *nix and a lot of the underlying toolset is missing, grep, awk you name it. Also, they had a nice new powerful framework to base it on, with all the functionality a good shell needs.

If they had of tried to make it sh compatible, you would have ended up with a system that looks compatible, but would probably fail in such subtle ways as to make it incompatible, and super annoying.

If you really want or need to run a unix cli, why not run Linux or BSD? we need good interoperability between OSs, but not cli syntax compatibility.