User:AHollender (WMF)/sandbox/wide tables

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
  1. ^ A platform independent version based on the historical UNIX V7 original source code is available from Geoff Collyer
  2. ^ The historic UNIX V7 version is available under a BSD-style license through the Unix Heritage Society and others.
  3. ^ A platform independent version based on the SVr4/Solaris source code is available from Jörg Schilling
  4. ^ Ferrell, John, "Chapter 2. Default Shell", FreeBSD Quickstart Guide for Linux Users, The FreeBSD Documentation Project, retrieved 2015-07-24
  5. ^ "SchilliX-ON / SchilliX-ON Mercurial / [b1d9a2] /usr/src/cmd/sh". Sourceforge.net. Retrieved 2015-07-02.
  6. ^ IEEE and The Open Group (2008). IEEE 1003.1 Standard for Information Technology – Portable Operating System Interface (POSIX): Shell and Utilities, Issue 7.
  7. ^ As part of IEEE Std.1003.2-1992 (POSIX.2); integrated into IEEE Std.1003.1 with the 2001 revision.
  8. ^ Fox, Brian (1989-06-07). Tower Jr., Leonard H. (ed.). "Bash is in beta release!". Newsgroupgnu.announce. Usenet: 8906080235.AA01983@wheat-chex.ai.mit.edu. Retrieved 2010-10-28.
  9. ^ 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."
  10. ^ Greer, Ken (1983-10-03). "C shell with command and filename recognition/completion". Newsgroupnet.sources. Retrieved 2010-12-29.
  11. ^ 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.
  12. ^ Gomes, Ron (1983-06-09). "Toronto USENIX Conference Schedule (tentative)". Newsgroupnet.usenix. Retrieved 2010-12-29.
  13. ^ Harris, Guy (1983-10-10). "csh question". Newsgroupnet.flame. Retrieved 2010-12-29.
  14. ^ ksh93(1) man page
  15. ^ a b Default shell in OpenBSD is ksh (pdksh).
  16. ^ 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.
  17. ^ zsh(1) man page and subpages
  18. ^ zshbuiltins(1) man page
  19. ^ "#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.
  20. ^ "HP OpenVMS DCL Dictionary". Archived from the original on 25 March 2007. Retrieved 2009-03-23.
  21. ^ Liljencrantz, Axel (2005-05-17). "Fish - The friendly interactive shell". Retrieved 2013-04-08.
  22. ^ 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).