User:AHollender (WMF)/sandbox/wide tables
Appearance
Shell | Usual environment | Usually invoked | Introduced | Platform-independent | Default login shell in | Default script shell in | License | Source code availability | User interface | Mouse support | Unicode support | ISO 8601 support | Console redirection | Stream redirection | Configurability | Startup/shutdown scripts | Batch scripts | Logging | available as statically linked, independent single file executable |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thompson shell | UNIX | sh | 1971 | — | UNIX | UNIX | — | Yes | Text-based CLI | No | No | — | Yes | — | — | — | — | — | — |
Bourne shell 1977 version | 7th Ed. UNIX | sh | 1977 | Yes[1] | 7th Ed. UNIX | 7th Ed. UNIX, | Proprietary[2] | Yes | Text-based CLI | No | No | — | Yes | Yes (arbitrary fds) | Yes (via variables and options) | Yes (.profile) | Yes (Unix feature) | No | Yes |
Bourne shell current version | Various UNIX | sh | 1977 | Yes[3] | SunOS-5.x, FreeBSD (non-root user)[4] | SunOS-5.x | CDDL[5][better source needed] | Yes | Text-based CLI | No | Yes[nb 1][better source needed] | — | Yes | Yes (arbitrary fds) | Yes (via variables and options) | Yes (.profile) | Yes (Unix feature) | Yes[nb 2] | Yes |
POSIX shell[6] | POSIX | sh | 1992[7] | — | — | POSIX | — | — | Text-based CLI | No | Yes, if used by configured locale | — | Yes | Yes (arbitrary fds) | Yes (via variables and options) | Unspecified (.profile given as an example) | Yes (Unix feature) | Yes | — |
bash (v4) | POSIX | bash, sh | 1989[8] | Yes | GNU, Linux (default for root), macOS 10.3–10.14 | GNU, Linux, Haiku, macOS 10.3–10.14 | GPL | Yes | Text-based CLI | No | Yes[9][better source needed] | Yes (printf builtin) | Yes | Yes (arbitrary fds) | Yes (via variables and options) | Yes (/etc/profile, .bash_profile, .bash_login, .profile, .bashrc) | Yes (Unix feature) | Yes | Yes |
csh | POSIX | csh | 1978 | Yes | SunOS | ? | BSD | Yes | Text-based CLI | No | No | ? | Yes | Yes (stdin, stdout, stdout+stderr) | Yes (via variables and options) | Yes (~/.cshrc, ~/.login, ~/.logout) | Yes (Unix feature) | Yes | Yes |
tcsh | POSIX | tcsh, csh | 1983[10] | Yes | FreeBSD (default for root), formerly Mac OS X | ? | BSD | Yes | Text-based CLI | No | Yes | ? | Yes | Yes (stdin, stdout, stdout+stderr) | Yes (via variables and options) | Yes (/etc/csh.cshrc, /etc/csh.login, ~/.tcshrc, ~/.cshrc, ~/.history, ~/.login, ~/.cshdirs) | Yes (Unix feature) | Yes | Yes |
Hamilton C shell | Win32, OS/2 | csh | 1988[11] | Yes (OS/2 version no longer maintained) | Optional | Optional | Proprietary | No | Text-based CLI | No | No | Yes (-t timestamp operator) | Yes | Yes (stdin, stdout, stdout+stderr) | Yes (via variables and options) | Yes (via login.csh, startup.csh and logout.csh) | Yes (command line option) | Yes | Yes |
Scsh | POSIX | scsh | 1994 | Yes | ? | ? | BSD-style | Yes | ? | ? | ? | ? | ? | Yes | ? | ? | ? | ? | Yes |
ksh (ksh93t+) | POSIX | ksh | 1983[12][13] | Yes | AIX, HP-UX | OpenSolaris | Common Public License | Yes | Text-based CLI | No | Yes | Yes (printf builtin with %(%F)T[14]) | Yes | Yes (arbitrary fds) | Yes (via variables and options) | Yes (system and user's profile and kshrc) | Yes (Unix feature) | Yes | Yes |
pdksh | POSIX | ksh, sh | 1989? | Yes | OpenBSD[15] | OpenBSD[15] | Public Domain | Yes | Text-based CLI | No | No | — | Yes | Yes (arbitrary fds) | Yes (via variables and options) | Yes (/etc/profile, .profile) | Yes (Unix feature) | Yes | Yes |
zsh | POSIX | zsh | 1990 | Yes | Deepin, GoboLinux, Grml, macOS 10.15+ | Grml, macOS 10.15+ | MIT-style | Yes | Text-based CLI | via additional code[16] | Yes | Yes (various internal features involving the date, by using the %F strftime format[17] and the -i option for the fc builtin[18]) | Yes | Yes (arbitrary fds) | Yes (via variables, options, functions, styles, etc.) | Yes (system and user's zshenv, zprofile, zshrc, zlogin, zlogout) | Yes (Unix feature) | Yes | Yes |
ash | POSIX | sh | 1989 | Yes | Minix, BusyBox based systems | NetBSD, Minix, BusyBox based systems | BSD-style | Yes | Text-based CLI | No | Partial (for BusyBox, supported in command-line editing, but not in string handling[19]) | — | Yes | Yes (arbitrary fds) | Yes (via variables and options) | Yes (/etc/profile, .profile) | Yes (Unix feature) | Yes | Yes |
CCP | CP/M, MP/M | (CCP) | 1976 (1974) | No | CP/M (no login), MP/M | CP/M, MP/M | Freeware (originally proprietary) | Yes (originally closed-source) | Text-based CLI | No | No | No | No | No | No | Yes (automatic via $$$.SUB) | Partial (only via external SUBMIT command to update $$$.SUB) | No | Yes |
COMMAND.COM | DOS | COMMAND | 1980 | No (3rd party implementations, not bound to a specific DOS vendor or version, available) | DOS, Windows 95, 98, SE, ME | DOS, Windows 95, 98, SE, ME | vendor specific, f.e. MS-EULA,[nb 3] or BSD/GPL (free clones) | No (except for OpenDOS, DR-DOS, PTS/DOS and FreeDOS) | Text-based CLI | No | No | No (except for DR-DOS) | Yes (via COMMAND con: or CTTY con:) | Yes (stdin, stdout) | Yes (via startup parameters and environment variables, DR-DOS also supports DIR /C /R user-default switch command) | Yes (automatic \AUTOEXEC.BAT for primary shell, or explicitly via /P, /P:filename.bat or /K startup options) | Yes (via CALL command or /C and /K startup options) | No | Yes |
OS/2 CMD.EXE | OS/2 | CMD | 1987 | No | OS/2 | OS/2 | IBM-EULA[nb 4] | No | Text-based CLI | No | No | No | No | Yes (stdin, stdout, stderr) | ? | Partial (only via /K startup option) | Yes (via CALL command or /C and /K startup options) | No | Yes |
Windows CMD.EXE[nb 5] | Win32 | CMD | 1993 | No | Windows NT, 2000, XP, Server 2003, Vista | Windows NT, 2000, XP, Server 2003, Vista | MS-EULA[nb 6] | No | Text-based CLI | No | Partial (CHCP 65001 for UTF-8, but program arguments are still encoded in local codepage) | No | No | Yes | Yes (via registry, startup parameters, and environment variables) | Yes (automatic via registry, or explicitly via /K startup option) | Yes (via CALL command or /C and /K startup options) | No | Yes |
4DOS, NDOS | DOS, Windows 95, 98, SE, ME | 4DOS, NDOS | 1989 (1986) | No (not bound to a specific OS vendor or version) | Optional | Optional | MIT License, with restrictions | Yes | Text-based CLI with TUI extensions | Yes (popups, help system, %_MOUSE internal variable, INKEY /M command) | No | Yes | Yes (via CTTY con:, except for DRAWBOX, DRAWLINE, DRAWVLINE, LIST, SCREEN, SCRPUT, SELECT, VSCRPUT commands and file / directory coloring) | Yes (stdin, stdout, stderr, stdout+stderr) | Yes (via 4DOS.INI/NDOS.INI file, startup parameters, environment variables, SETDOS command) | Yes (automatic \AUTOEXEC.BAT for primary shell and 4START.BTM/4START.BAT as well as 4EXIT.BTM/4EXIT.BAT for any shell, or explicitly via /P, /P:dir\filename.ext or /K startup options) | Yes (via CALL command or /C and /K startup options) | Yes | Yes |
4OS2 | OS/2 | 4OS2 | 1992 | No (not bound to specific OS/2 versions) | Optional | Optional | Freeware | Yes | Text-based CLI | No | No | No | No | Yes (stdin, stdout, stderr, stdout+stderr) | Yes (via 4OS2.INI file, startup parameters, environment variables, SETDOS command) | Yes (automatic via 4START.CMD/4START.BTM as well as 4EXIT.CMD/4EXIT.BTM files, or explicitly via /K startup.cmd option) | Yes (via CALL command or /C and /K startup options) | Yes | ? |
TCC (formerly 4NT) | Win32 | TCC | 1993 | No (not bound to specific NT versions) | optional | optional | Shareware | No | Text-based CLI (Take Command: GUI) | Yes (console mouse, popups, help system, %_XMOUSE, %_YMOUSE internal variables, INKEY /M command) | Yes | Yes | No | Yes (stdin, stdout, stderr, stdout+stderr) | Yes (via registry, TCMD.INI/4NT.INI file, startup parameters, environment variables, SETDOS command) | Yes (automatic via registry and TCSTART/4START as well as TCEXIT/4EXIT, or explicitly via /K startup option) | Yes (via CALL command or /C and /K startup options) | Yes | No |
VMS DCL[20] | OpenVMS | Automatically for login/interactive process | 1977? | Yes | VMS | VMS | Proprietary, bundled in VMS | by special license only | Text-based CLI | with DECwindows/Motif | Yes | Yes, at least to 1988 standard | Yes | Yes (sys$input, sys$output assignment) | Yes (via symbols, logical names, and options) | Yes (SYS$MANAGER:SYLOGIN.COM and user defined LOGIN.COM) | Yes | Yes | No |
PowerShell | .NET | PowerShell | 2006 | Yes | Windows 10, 8, Server 2008, 7, Vista, XP[nb 7] | Windows 10, 8, Server 2008, 7 | MIT-style | Yes | Graphical CLI | Yes | Yes | Yes | No | Yes | Yes (via variables and options) | Yes (%USERPROFILE%\Documents \WindowsPowerShell\Microsoft.PowerShell_profile.ps1) | Yes (PowerShell feature) | Yes | No |
rc | Plan 9, POSIX | rc | 1989 | Yes | Plan 9, Version 10 Unix | Plan 9, Version 10 Unix | Lucent Public License | ? | ? | ? | Yes | ? | ? | Yes | ? | ? | ? | ? | Yes |
BeanShell | Java | ? | 2005 | Yes | ? | ? | LGPL | ? | ? | ? | Yes | ? | ? | Yes | ? | ? | ? | ? | No |
fish | POSIX | fish | 2005[21] | Yes | GhostBSD | ? | GPL | Yes | Text-based CLI | ? | Yes | ? | ? | Yes (arbitrary fds) | Yes (through environment variables and via web interface through fish_config) | Yes (/etc/fish/config.fish and ~/.config/fish/config.fish) | Yes (Unix feature) | Yes (~/.config/fish/fish_history*) | ? |
Ion | Redox, Linux | ion | 2015[22] | Yes | Redox | Redox | MIT | Yes | Text-based CLI | ? | Yes | Yes | ? | Yes (arbitrary fds) | Yes (follows the XDG Base Directory spec) | Yes (~/.config/ion/initrc) | Yes | Yes (~/.local/share/ion/history) | Partial (not distributed as a standalone executable, but it can be built as one) |
Shell | Usual environment | Usually invoked | Introduced | Platform-independent | Default login shell in | Default script shell in | License | Source code availability | User interface | Mouse support | Unicode support | ISO 8601 support | Console redirection | Stream redirection | Configurability | Startup/shutdown scripts | Batch scripts | Logging | available as statically linked, independent single file executable |
- ^ A platform independent version based on the historical UNIX V7 original source code is available from Geoff Collyer
- ^ The historic UNIX V7 version is available under a BSD-style license through the Unix Heritage Society and others.
- ^ A platform independent version based on the SVr4/Solaris source code is available from Jörg Schilling
- ^ Ferrell, John, "Chapter 2. Default Shell", FreeBSD Quickstart Guide for Linux Users, The FreeBSD Documentation Project, retrieved 2015-07-24
- ^ "SchilliX-ON / SchilliX-ON Mercurial / [b1d9a2] /usr/src/cmd/sh". Sourceforge.net. Retrieved 2015-07-02.
- ^ IEEE and The Open Group (2008). IEEE 1003.1 Standard for Information Technology – Portable Operating System Interface (POSIX): Shell and Utilities, Issue 7.
- ^ As part of IEEE Std.1003.2-1992 (POSIX.2); integrated into IEEE Std.1003.1 with the 2001 revision.
- ^ Fox, Brian (1989-06-07). Tower Jr., Leonard H. (ed.). "Bash is in beta release!". Newsgroup: gnu.announce. Usenet: 8906080235.AA01983@wheat-chex.ai.mit.edu. Retrieved 2010-10-28.
- ^ Cooper, Mendel, "Chapter 37.3.2. Bash, version 4.2", Advanced Bash-Scripting Guide, The Linux Documentation Project, retrieved 2015-04-30, "Bash now supports the \u and \U Unicode escape."
- ^ Greer, Ken (1983-10-03). "C shell with command and filename recognition/completion". Newsgroup: net.sources. Retrieved 2010-12-29.
- ^ Sussman, Ann (1988-12-26). "Hamilton C Shell Speeds Development Of OS/2 Applications" (PDF). PC Week (1988-12-26 - 1989-01-02): 37. Retrieved 2010-11-22.
- ^ Gomes, Ron (1983-06-09). "Toronto USENIX Conference Schedule (tentative)". Newsgroup: net.usenix. Retrieved 2010-12-29.
- ^ Harris, Guy (1983-10-10). "csh question". Newsgroup: net.flame. Retrieved 2010-12-29.
- ^ ksh93(1) man page
- ^ a b Default shell in OpenBSD is ksh (pdksh).
- ^ The zsh command line editor is fully configurable and can allow mouse support in various ways such as with Stéphane Chazelas's mouse.zsh.
- ^ zsh(1) man page and subpages
- ^ zshbuiltins(1) man page
- ^ "#782228 - busybox sh doesn't support multibyte characters in string handling - Debian Bug report logs". Bugs.debian.org. 2015-04-09. Retrieved 2015-07-02.
- ^ "HP OpenVMS DCL Dictionary". Archived from the original on 25 March 2007. Retrieved 2009-03-23.
- ^ Liljencrantz, Axel (2005-05-17). "Fish - The friendly interactive shell". Retrieved 2013-04-08.
- ^ Soller, Jeremy (2015-11-15). "d79c8f511573fb7710abc63b4236a40022914520". Retrieved 2019-08-03.
Cite error: There are <ref group=nb>
tags on this page, but the references will not show without a {{reflist|group=nb}}
template (see the help page).