Beruflich Dokumente
Kultur Dokumente
General characteristics
Usual environment Usually invoked Introduced Platform-independent Default login Default script shell in shell in License Unicode Stream Native support Blocking of unsigned scripts available as statically linked, independent single file executable Bourne shell 7th Ed. UNIX sh 1977 Yes 7th Ed. UNIX 7th Ed. UNIX Yes Yes (arbitrary fds) POSIX shell No No Yes redirection CIM/WBEM
[1][2]
Proprietary, CDDL
[3][4]
[5]
POSIX
sh
1992
[6]
Yes
N/A
POSIX
N/A
N/A
bash (v4.0)
POSIX
bash, sh
1989
[7]
Yes
GNU, Haiku
GPL Yes
(arbitrary fds)
No
No
Yes
csh
POSIX
csh
1978 Yes
BSD No
tcsh
POSIX
tcsh, csh
1983
[8]
Yes
BSD Yes
POSIX POSIX
scsh ksh
1994 1983
Yes
? AIX, HP-UX
? OpenSolaris
Yes Yes
No
No
Yes
[9][10]
Yes
Yes
(arbitrary fds)
No
No
Yes
pdksh
POSIX
ksh, sh
1989 ? Yes
OpenBSD
[11]
OpenBSD
zsh
POSIX
zsh
1990 Yes
Grml, Gobolinux
Grml
BSD-style Yes
ash
POSIX
sh
1989 Yes
Windows cmd.exe
Win32
cmd
1993 No
Windows NT, Windows NT, 2000, XP, Server 2003, Vista 2000, XP, Server 2003, Vista ?
[12]
MS-EULA
[13]
Yes Yes No No Yes
Win32
1993
No
Shareware
Yes
No
No
No
2
Windows Server 2008, 7
Windows PowerShell
.NET
powershell
Windows
MS-EULA
[14]
or BSD/GPL (PASH)
No
[15]
COMMAND.COM
DOS
command
MS-EULA
[17]
No
[16]
4DOS
DOS
1989
No
No
No
No
No ?
OS/2 cmd.exe rc
OS/2
cmd
1987
No
OS/2
OS/2
IBM-EULA
[18]
No
No
No
Plan 9, POSIX
rc
1989 Yes
Java Python
? python, ipython
2005 1991
Yes
? ?
LGPL Python
Yes
Yes
? ?
No
Yes
Yes
Yes
No
Ruby shell
Ruby
irb
1995 Yes
Ruby, BSD
? No
VMS DCL
[19]
OpenVMS
1977 ? No
VMS
VMS
? No
Interactive features
Completion Directory stack Directory Implicit History Directory Change If command is dir name changes to it Bourne shell No No No No No No No $ Yes (variable: $PS1) $ Yes (variable: $PS1) bash-<version number>$ % Yes (variable: $PS1) Yes (variable: $prompt > Yes (variable: $prompt Via functions Yes No Since SVr4 Yes Yes (popup) Command history History completion Spell checking Default user prompt Custom command prompt Aliases Binary prefix notation Job control Startup scripts
[20]
(pushd/popd) Window
POSIX shell
No Yes (extendable)
No
No
Yes
No
No
No
Yes
bash (v4.0)
Yes
No
Yes
Yes
No
Yes
No
Yes
Yes
csh
Yes
No
Yes
Yes
No
Yes
No
Yes
Yes
tcsh
Yes (extendable)
Yes
No
Yes
Yes
experimental
Yes
No
Yes
Yes
3
> Yes No (macro and procedure definitions) Yes Yes Yes
Scsh No No No No No No No
ksh (ksh93t+)
Yes (extendable)
$ No No No Yes Yes No
pdksh
Yes
No
No
No
Yes
No
Yes
No
Yes
Yes
zsh
Yes (extendable)
Yes
No
Yes (optional)
ash
No
Yes
No
No
Yes
Yes
No
No
Yes
Yes
<path>>
(environment ("macros",
No
No
Yes
TCC (formerly 4NT) Yes (partial) Yes Yes Yes Yes Yes No
[<path>]
? No Yes (4start)
[21]
<path or drive
COMMAND.COM No No No No No
[22][23]
No
[22][23]
No
name>>
[24]
<path>>
? No No Yes
? No
[<path>]
rc Yes
term%, ; No No Yes
[25]
[25]
Yes
[25]
No
BeanShell Yes
? No No Yes
? No
bsh %
? Yes (.bshrc)
Python shell
Yes (provided by the rlcompleter module or IPython) Yes (provided by IPython) No No Yes Yes (provided by IPython) No
4
irb(main):001:0> No Yes Yes ? Yes Yes (.irbrc)
Programming features
Functions Exception Search and replace Parallel Variadic Default Named Lambda eval Pseudorandom Bytecode handling on variables assignment functions arguments parameters functions function number generation Bourne shell Yes since SVr2 Yes Yes (via trap) Yes (via trap) Yes (via trap) No No ? Yes (via string functions and regular expressions) No No Since SVr2 Yes No No No Yes No No
POSIX shell
No
No
No
No
Yes
No Yes ($RANDOM) No No
No
bash (v4.0)
Yes No No
No No No
Yes No No
Yes No No
No No No
No No No
No No No
csh tcsh
Scsh
Yes
No
Yes
No
No
Yes
Yes
Yes (compiler Yes is (random-integer, Scheme48 random-real) virtual machine, "scshvm") Yes (compiler is called "shcomp") No Yes (built-in command "zcompile") No
? Yes Yes
No
Yes
Yes ($RANDOM)
pdksh
Yes
No
Yes
Yes
No
No
Yes
Yes ($RANDOM)
ash
No Yes (via set %varname:expression syntax) Yes (via %@replace[] function) Yes (-replace operator)
No
Yes
Yes
No
No
Yes
No
Windows cmd.exe
No
No
No
No
No
No
No
No
Yes
No
No
No
No
No
No
Yes
No
Windows PowerShell
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes, automatic
5
No Yes (via %@replace[] function) No No ? No No ? No No No No ? No Yes No No No Yes (%@random[] function) No No Yes No
COMMAND.COM 4DOS
No
No
Yes
No
No
No Yes Yes
No Yes Yes
No ? ?
No Yes No
No Yes No
No ? No
No No No
No Yes Yes
No No Yes Yes (standard CPython, IronPython or Jython) Yes (NetRuby, JRuby, version 1.9/YARV) No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Ruby shell Yes Yes Yes (via string functions and regular expressions) Yes Yes Yes Yes Yes Yes Yes
VMS DCL
Yes
Yes
No
No
No
No
No
No
No
No
Yes (*, ?, [...]) Yes (*, ?, [...]) Yes (*, ?, [...], {...}) Yes Yes Yes Yes (*, ?, [...]) Yes Yes (*, ?, [...], [26] ext'd globbing ) Yes Yes (*, ?)
pdksh zsh
Yes (*, ?, [...]) Yes (*, ?) Yes (*, ?, [...]) ? ? No Yes (via FOR /R)
6
? ?
No ? Yes (via glob module) Yes (via Dir.glob method) Yes (via [SUBDIR...] )
VMS DCL
No
Inter-process communication
Pipes Command substitution Process substitution Subshells TCP/UDP connections as streams No
Bourne shell
bytes concurrent bytes concurrent bytes concurrent bytes concurrent bytes concurrent text bytes (may contain serialized objects if print -C is used) concurrent bytes concurrent bytes concurrent bytes concurrent text concurrent
Yes
No
Yes
POSIX shell
Yes
Yes
No
bash (v4.0)
Yes
Yes
csh
Yes
Yes
No
tcsh
Yes ?
No ?
Yes ?
No Yes
Yes
pdksh
Yes
No
Yes
zsh
Yes
Yes
Yes
ash
No
Yes Yes (Backtick: ` in for /f usebackq) Limited, via %@execstr[] and %@exec[] Yes
No ?
No
text
No
Yes
No
Yes
No
No
No
No
7
? Limited, via %@execstr[] and %@exec[] ?
4DOS
text sequential temporary files text concurrent text concurrent not supported objects (when using IPython+IPipe) not supported text (via PIPE command)
No
OS/2 cmd.exe rc
No
No Yes (via: <{cmd} if system supports /dev/fd/<n>) ? Yes (via subprocess module) Yes No
No
Yes
Yes
No
? Yes Yes No
References
[1] A platform independent version (http:/ / www. collyer. net/ who/ geoff/ v7sh. tar) based on the historical UNIX V7 original source code is available from Geoff Collyer (http:/ / www. collyer. net/ who/ geoff/ ) [2] A platform independent version (ftp:/ / ftp. berlios. de/ pub/ schily/ ) based on the SVr4/Solaris source code is available from Jrg Schilling [3] The historic UNIX V7 version is available under a BSD-style license (http:/ / minnie. tuhs. org/ Archive/ Caldera-license. pdf) through the Unix Heritage Society and others. [4] The SVr4 (OpenSolaris) version http:/ / src. opensolaris. org/ source/ xref/ onnv/ onnv-gate/ usr/ src/ cmd/ sh/ is available under CDDL, older versions (except UNIX V7) are available under a AT&T proprietray license. However, most extent versions (AIX, IRIX64, HPUX, Tru64) remain under AT&T licence. [5] IEEE (6 December 2001). 1003.1 Standard for Information Technology Portable Operating System Interface (POSIX): Shell and Utilities, Issue 6. [6] As part of IEEE Std.1003.2-1992 (POSIX.2); integrated into IEEE Std.1003.1 with the 2001 revision. [7] Brian Fox (forwarded by Leonard H. Tower Jr.) (7 June 1989). "@wheat-chex.ai.mit.edu Bash is in beta release! (news:8906080235. AA01983)". [news:gnu.announce gnu.announce]. (Web link) (http:/ / groups. google. com/ group/ gnu. announce/ msg/ a509f48ffb298c35?hl=en). Retrieved 28 October 2010. [8] Ken Greer (3 October 1983). "C shell with command and filename recognition/completion". [news:net.sources net.sources]. (Web link) (http:/ / groups. google. com/ group/ net. sources/ msg/ 7073bf41cc5da330?hl=en). Retrieved 29 December 2010. [9] Ron Gomes (9 June 1983). "Toronto USENIX Conference Schedule (tentative)". [news:net.usenix net.usenix]. (Web link) (http:/ / groups. google. com/ group/ net. usenix/ msg/ fa6e1f7de3b63bba?hl=en). Retrieved 29 December 2010. [10] Guy Harris (10 October 1983). "csh question". [news:net.flame net.flame]. (Web link) (http:/ / groups. google. com/ group/ net. flame/ msg/ 4f868085b65af530?hl=en). Retrieved 29 December 2010. [11] Default shell in OpenBSD (http:/ / www. openbsd. org/ faq/ faq10. html#rootshell) is ksh (pdksh). [12] Command extensions enabled, or "cmd /x". [13] Windows component covered by a valid license for Microsoft Windows [14] PASH, a third-party remake, is in development and almost half-finished (http:/ / pash. sourceforge. net/ ). Activity seems to have stagnated (http:/ / igorshare. wordpress. com/ 2008/ 04/ 06/ pash-cross-platform-powershell-is-out-in-the-wild-announcement/ #comment-456) early 2009 (https:/ / launchpad. net/ pash/ + announcement/ 1912). [15] Windows PowerShell is installed with Windows 7, however, it is an optional download for users of Windows Vista or Windows XP. [16] Third-party re-implementations, such as DosBox, Wine, and FreeDOS are available. [17] MS-DOS and Windows component covered by a valid license for MS-DOS or Microsoft Windows [18] OS/2 component covered by a valid license for OS/2 [19] "HP OpenVMS DCL Dictionary" (http:/ / h71000. www7. hp. com/ doc/ 732final/ 9996/ 9996pro_contents. html). . Retrieved 23 March 2009. [20] Many shells in *nix environments change the root user's prompt to '#'. [21] PowerShell exposes more than just the file system as a navigable system: Windows Registry, functions, aliases, variables, certificate store, credential store etc. The location types are extensible through a provider architecture. Common commands will work with any compliant provider [22] Added by TSR programs such as DOSKey
External links
Linux Magazine: Bash vs. Vista PowerShell (http://w3.linux-magazine.com/issue/78/Bash_vs. _Vista_PowerShell.pdf) IEEE. 1003.1 Standard for Information Technology Portable Operating System Interface (POSIX): Shell and Utilities, Issue 7 (http://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html)
License
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/