Shells
Posix Compliance
The Portable Operating System Interface (POSIX) is a family of standards for maintaining compatibility among operating systems. Software that conforms to the POSIX standard will be compatible with all operating systems that adhere to the standard.
In this context scripts written for a POSIX shell should run in any other POSIX shell with no issues. Non POSIX scripts will not run is POSIX shells.
POSIX Compliant Shells
The default on most distros, the Bourne again shell extends the Bourne shell with command-line history and completion, indexed and associative arrays, integer arithmetic, process substitution, here strings, regular expression matching and brace expansion.
Z Shell is designed for iterative use while also being a powerful scripting language. Many of the useful features of bash, ksh, and tcsh were incorporated into zsh; many original features were added.
A fast shell based on the BSD version of the ash shell, it aims to be as small as possible.
Non Compliant Shells
Fish is a smart and user-friendly command line shell. Fish performs full colour command line syntax highlighting, as well as highlighting and completion for commands and their arguments, file existence, and history.
Ion is a modern system shell that features a simple, yet powerful, syntax. It is written entirely in Rust, which greatly increases the overall quality and security of the shell.
Elvish is a modern and expressive shell, that can carry internal structured values through pipelines. This feature makes possible avoiding a lot of complex text processing code. It features an expressive programming language, with features like exceptions, namespacing and anonymous functions. It also has a powerful readline which checks the syntax while typing, and syntax highlighting by default.