| "Sensible" Input/Output redirection | ✔ | ✔ | ✘ | ✔ | ✔ | ✘ | ✔ | ✔ |
| Aliases | ✘ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | ✘ |
| Builtin artithmetic evaluation | ✘ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | ✘ |
| Can avoid user startup files | ✔ | ✔ | ✔ | ✘ | ✘ | ✘ | ✔ | ✔ |
| Can cope with large argument lists | ✔ | ✔ | ✘ | ✔ | ✔ | ✔ | ✔ | ✔ |
| Can follow symbolic links invisibly | ✘ | ✔ | ✘ | ✔ | ✘ | ✔ | ✔ | ✘ |
| Can specify startup file | ✘ | ✔ | ✘ | ✔ | ✘ | ✘ | ✘ | ✘ |
| Checks Mailbox | * | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | * |
| Co Processes | ✘ | ✘ | ✘ | ✔ | ✘ | ✘ | ✔ | ✘ |
| Command history | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | ✔ |
| Command line editing | ✔ | ✔ | ✘ | ✔ | ✘ | ✔ | ✔ | ✔ |
| Custom Prompt (easily) | ✔ | ✔ | ✘ | ✔ | ✘ | ✔ | ✔ | ✔ |
| Directory stack | * | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | * |
| Emacs Command line editing | ✔ | ✔ | ✘ | ✔ | ✘ | ✔ | ✔ | ✔ |
| Exceptions | ✔ | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ |
| File no clobber ability | * | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | ✘ |
| Filename completion | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | ✔ |
| Freely Available | ✔ | ✔ | ✘ | * | ✘ | ✔ | ✔ | ✔ |
| Full signal trap handling | ✔ | ✔ | ✘ | ✔ | ✔ | ✘ | ✔ | ✔ |
| Fully programmable Completion | ✘ | ✘ | ✘ | ✘ | ✘ | ✔ | ✔ | ✘ |
| Has anonymous functions | ✔ | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ | ✔ |
| Has non-interactive startup file | ✘ | * | ✔ | * | ✘ | ✔ | ✔ | ✘ |
| Has non-login startup file | ✘ | ✔ | ✔ | * | ✘ | ✔ | ✔ | ✘ |
| History completion | ✔ | ✔ | ✘ | ✘ | ✘ | ✔ | ✔ | ✔ |
| Hostname completion | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | ✔ |
| Job control | ✘ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | ✘ |
| Lexically scoped variables | ✔ | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ |
| List Variables | ✔ | ✘ | ✔ | ✔ | ✘ | ✔ | ✔ | ✔ |
| Local variables | ✔ | ✔ | ✘ | ✔ | ✘ | ✘ | ✔ | ✔ |
| Login/Logout watching | * | ✘ | ✘ | ✘ | ✘ | ✔ | ✔ | * |
| Low level command redefinition | ✔ | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ |
| Mh Mailbox completion | ✘ | * | ✘ | ✘ | ✘ | * | * | ✘ |
| Periodic command execution | ✘ | ✘ | ✘ | ✘ | ✘ | ✔ | ✔ | ✘ |
| Process Substitution | ✔ | ✔ | ✘ | ✘ | ✘ | ✘ | ✔ | ✔ |
| Rebindable Command line editing | ✔ | ✔ | ✘ | ✘ | ✘ | ✔ | ✔ | ✔ |
| Shell functions | ✔ | ✔ | ✘ | ✔ | ✔ | ✘ | ✔ | ✔ |
| Spelling Correction | ✘ | ✘ | ✘ | ✘ | ✘ | ✔ | ✔ | ✘ |
| Sun Keyboard Hack | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ | ✔ | ✘ |
| Tty Sanity Checking | ✘ | ✘ | ✘ | ✘ | ✘ | ✔ | ✔ | ✘ |
| Underlying Syntax | rc | sh | csh | sh | sh | csh | sh | rc |
| User name look up | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | ✔ |
| Username completion | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | ✔ |
| Vi Command line editing | ✔ | ✔ | ✘ | ✔ | ✘ | ± | ✔ | ✔ |