Shell (computing)
Encyclopedia
A shell is a piece of software that provides an interface
for users of an operating system
which provides access to the services of a kernel
. However, the term is also applied very loosely to applications and may include any software that is "built around" a particular component, such as web browsers and email clients that are "shells" for HTML
rendering engines
. The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel).
Operating system shells generally fall into one of two categories: command-line and graphical. Command-line shells provide a command-line interface
(CLI) to the operating system, while graphical shells provide a graphical user interface
(GUI). In either category the primary purpose of the shell is to invoke or "launch" another program; however, shells frequently have additional capabilities such as viewing the contents of directories.
The relative merits of CLI- and GUI-based shells are often debated. CLI proponents claim that certain operations can be performed much faster under CLI shells than under GUI shells (such as moving files, for example). However, GUI proponents advocate the comparative usability and simplicity of GUI shells. The best choice is often determined by the way in which a computer will be used. On a server mainly used for data transfers and processing with expert administration , a CLI is likely to be the best choice. However, a GUI would be more appropriate for a computer to be used for image or video editing and the development of the above data.
In expert system
s, a shell is a piece of software that is an "empty" expert system without the
knowledge base for any particular application.
, Ken Thompson
's sh, was modeled after the Multics
shell, itself modeled after the RUNCOM program Louis Pouzin
showed to the Multics Team. The 'rc' suffix on some Unix configuration files (e.g. ".vimrc"), is a remnant of the RUNCOM ancestry of Unix shells.
Practically all modern operating system shells can be used in both interactive and batch mode, the latter usually by specifying the name of a text file with commands listed therein. Batch mode use of shells usually involves structures, conditionals, variables, and other elements of programming languages; some have the bare essentials needed for such a purpose, others are very sophisticated programming languages in and of themselves. Conversely, some programming languages can be used interactively from an operating system shell or in a purpose-built programmer.
s include:
Several of the above are available with DOS and Windows software packages which allow for interoperability with Unix at varying levels. Common examples are the MKS Toolkit
(sh, bash, ksh, csh, tclsh, rsh with version 8.0 and subsequent), UnxUtils
, UWIN
(AT&T Unix for Windows, also abbreviated U/WIN), Cygwin
, DJGPP
, Interix
, and other programmes of the same type. Windows Services For Unix in most versions provides a Korn and C shell as well as Perl capable of command line use.
Unix shells are also available for other operating systems including OS/2
and VMS
, as well as the main VMS shell, DCL
being available for DOS, Windows, OS/2, and Unix-type systems in various forms.
Versions of DOS and Windows NT shells are also available for Unix/Linux type systems.
s include:
, other telecommunications tools, and other types of software can have shells capable of interactive and batch/script use.
operating system use Windows Shell
as their shell. Explorer provides the familiar desktop environment
, start menu
, and task bar, as well as the file management functions of the operating system. Older versions also include Program Manager
(progman.exe) which was the shell for the 3.x series of Microsoft Windows, and which in fact ships with later versions of Windows of both the 95 and NT types at least through Windows XP. The interfaces of Windows versions 1 and 2 were markedly different.
Many individuals and developers dissatisfied with the interface of Windows Explorer have developed software that either alters the functioning and appearance of the shell or replaces it entirely. WindowBlinds
by StarDock
is a good example of the former sort of application. LiteStep
, SharpE
and Emerge Desktop
are good examples of the latter.
Interoperability programmes and purpose-designed software allows Windows users to also use equivalents of many of the various Unix-based GUIs discussed below as well as Macintosh, and an equivalent of the OS/2 Presentation Manager for version 3.0 is available to run some OS/2 programmes under some conditions using the OS/2 environmental subsystem in versions of Windows NT. For an example of the first, X Window-type environments can be run using combinations of Windows/Unix interoperability packages, communications suites such as Hummingbird Connectivity, and/or X server progammes for Windows such as WinAxe and others.
) shells typically build on top of a windowing system
. In case of the X Window System
, there are both independent X window manager
s, and complete desktop environment
s which depend on a window manager.
X Window System environments (mainly for Unix-like
operating systems):
Interface (computer science)
In the field of computer science, an interface is a tool and concept that refers to a point of interaction between components, and is applicable at the level of both hardware and software...
for users of an operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
which provides access to the services of a kernel
Kernel (computing)
In computing, the kernel is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources...
. However, the term is also applied very loosely to applications and may include any software that is "built around" a particular component, such as web browsers and email clients that are "shells" for HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....
rendering engines
Layout engine
A web browser engine, , is a software component that takes marked up content and formatting information and displays the formatted content on the screen. It "paints" on the content area of a window, which is displayed on a monitor or a printer...
. The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel).
Operating system shells generally fall into one of two categories: command-line and graphical. Command-line shells provide a command-line interface
Command-line interface
A command-line interface is a mechanism for interacting with a computer operating system or software by typing commands to perform specific tasks...
(CLI) to the operating system, while graphical shells provide a graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
(GUI). In either category the primary purpose of the shell is to invoke or "launch" another program; however, shells frequently have additional capabilities such as viewing the contents of directories.
The relative merits of CLI- and GUI-based shells are often debated. CLI proponents claim that certain operations can be performed much faster under CLI shells than under GUI shells (such as moving files, for example). However, GUI proponents advocate the comparative usability and simplicity of GUI shells. The best choice is often determined by the way in which a computer will be used. On a server mainly used for data transfers and processing with expert administration , a CLI is likely to be the best choice. However, a GUI would be more appropriate for a computer to be used for image or video editing and the development of the above data.
In expert system
Expert system
In artificial intelligence, an expert system is a computer system that emulates the decision-making ability of a human expert. Expert systems are designed to solve complex problems by reasoning about knowledge, like an expert, and not by following the procedure of a developer as is the case in...
s, a shell is a piece of software that is an "empty" expert system without the
knowledge base for any particular application.
History
The first Unix shellUnix shell
A Unix shell is a command-line interpreter or shell that provides a traditional user interface for the Unix operating system and for Unix-like systems...
, Ken Thompson
Ken Thompson
Kenneth Lane Thompson , commonly referred to as ken in hacker circles, is an American pioneer of computer science...
's sh, was modeled after the Multics
Multics
Multics was an influential early time-sharing operating system. The project was started in 1964 in Cambridge, Massachusetts...
shell, itself modeled after the RUNCOM program Louis Pouzin
Louis Pouzin
Louis Pouzin invented the datagram and designed an early packet communications network, CYCLADES...
showed to the Multics Team. The 'rc' suffix on some Unix configuration files (e.g. ".vimrc"), is a remnant of the RUNCOM ancestry of Unix shells.
Practically all modern operating system shells can be used in both interactive and batch mode, the latter usually by specifying the name of a text file with commands listed therein. Batch mode use of shells usually involves structures, conditionals, variables, and other elements of programming languages; some have the bare essentials needed for such a purpose, others are very sophisticated programming languages in and of themselves. Conversely, some programming languages can be used interactively from an operating system shell or in a purpose-built programmer.
Unix shells
Notable historic or popular Unix shellUnix shell
A Unix shell is a command-line interpreter or shell that provides a traditional user interface for the Unix operating system and for Unix-like systems...
s include:
- Bourne shellBourne shellThe Bourne shell, or sh, was the default Unix shell of Unix Version 7 and most Unix-like systems continue to have /bin/sh - which will be the Bourne shell, or a symbolic link or hard link to a compatible shell - even when more modern shells are used by most users.Developed by Stephen Bourne at AT&T...
(sh)- Almquist shell (ash)
- Debian Almquist shellDebian Almquist shellThe Debian Almquist shell is a Unix shell, much smaller than bash but still aiming at POSIX-compliancy. It requires less disk space but is also less feature-rich.- History :...
(dash)
- Debian Almquist shell
- Bourne-Again shell (bash)
- Korn shellKorn shellThe Korn shell is a Unix shell which was developed by David Korn in the early 1980s and announced at USENIX on July 14, 1983. Other early contributors were AT&T Bell Labs developers Mike Veach, who wrote the emacs code, and Pat Sullivan, who wrote the vi code...
(ksh)- Z shellZ shellThe Z shell is a Unix shell that can be used as an interactive login shell and as a powerful command interpreter for shell scripting...
(zsh)
- Z shell
- Almquist shell (ash)
- C shellC shellThe C shell is a Unix shell that was created by Bill Joy while a graduate student at University of California, Berkeley in the late 1970s. It has been distributed widely, beginning with the 2BSD release of the BSD Unix system that Joy began distributing in 1978...
(csh)- TENEX C shell (tcsh)
- Hamilton C shellHamilton C shellHamilton C shell is a clone of the Unix C shell and utilities for Microsoft Windows created by Nicole Hamilton at Hamilton Laboratories. It was first released on OS/2 on December 12 1988 and on Windows NT in July 1992...
- EMACSEmacsEmacs is a class of text editors, usually characterized by their extensibility. GNU Emacs has over 1,000 commands. It also allows the user to combine these commands into macros to automate work.Development began in the mid-1970s and continues actively...
shell (eshell) - Es shellEs shellThe es shell is a command line interpreter developed by Byron Rakitzis and Paul Haahr, that uses a scripting language similar to the rc shell of the Plan 9 operating system. It is intended to provide a fully functional programming language as a Unix shell. The bulk of es' development occurred in...
(es) - esh (Unix)Esh (Unix)The easy shell is a simple and lightweight Unix shell for Unix-like computer operating systems. Its syntax deviates completely from that of traditional shells, using instead a Lisp-like syntax...
– Easy Shell - friendly interactive shellFriendly interactive shellThe friendly interactive shell is a Unix shell that focuses on interactive use, discoverability, and user friendliness. The design goal of fish is to give the user a rich set of powerful features in a way that is easy to discover, remember, and use.Released in 2005 under the terms of the GNU...
(fish) - rc shell (rc) – shell for Plan 9 from Bell LabsPlan 9 from Bell LabsPlan 9 from Bell Labs is a distributed operating system. It was developed primarily for research purposes as the successor to Unix by the Computing Sciences Research Center at Bell Labs between the mid-1980s and 2002...
and UnixUnixUnix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna... - scshScshScsh is a POSIX API layered on top of the Scheme programming language in a manner to make the most of Scheme's capability for scripting. It is limited to 32-bit platforms but there is a development version against the latest scheme48 that works in 64bit mode.....
(Scheme Shell) - Stand-alone ShellStand-alone shellStand-alone shell is a Unix shell designed for use in recovering from certain types of system failures.The built in commands of sash have all libraries linked statically, so unlike most shells, the standard UNIX commands do not rely on external libraries...
(sash) - BeanShellBeanShellBeanShell is a Java scripting language, invented by Patrick Niemeyer. It runs in the Java Runtime Environment and uses Java syntax, in addition to scripting commands and syntax.- Features :...
- Rhino
- rshRemote ShellThe remote shell is a command line computer program that can execute shell commands as another user, and on another computer across a computer network.The remote system to which rsh connects runs the rshd daemon...
- a remote shell available on many systems, can also mean Restricted shell on some systems - tclsh (command line) and wish (GUI), the shells provided with implementations of the TclTclTcl is a scripting language created by John Ousterhout. Originally "born out of frustration", according to the author, with programmers devising their own languages intended to be embedded into applications, Tcl gained acceptance on its own...
and Tcl/Tk programming languages -- some implementations may include the version number in the name of the shell, such as tclsh83 or tcl83sh. - psh - a Perl-based general purpose shell available in some cases.
- smrsh - restricted shell for use with the Unix sendmailSendmailSendmail is a general purpose internetwork email routing facility that supports many kinds of mail-transfer and -delivery methods, including the Simple Mail Transfer Protocol used for email transport over the Internet....
programme. - sqshSqshSqsh , short for SQSHell , is an open source substitute for isql, the interactive SQL client supplied with Sybase's Adaptive Server Enterprise relational database management system...
- a shell available with some SQLSQLSQL is a programming language designed for managing data in relational database management systems ....
implementations for database queries and other tasks.
Several of the above are available with DOS and Windows software packages which allow for interoperability with Unix at varying levels. Common examples are the MKS Toolkit
MKS Toolkit
MKS Toolkit is a software package produced and maintained by MKS Inc. that provides a Unix-like environment for scripting, connectivity and porting Unix and Linux software to both 32- and 64-bit Microsoft Windows systems. It was originally created for MS-DOS....
(sh, bash, ksh, csh, tclsh, rsh with version 8.0 and subsequent), UnxUtils
UnxUtils
UnxUtils is a collection of ports of common GNU Unix-like utilities to native Win32, with executables only depending on the Microsoft C-runtime msvcrt.dll. The collection was last updated externally on April 15, 2003 by Dr. . The most recent release package is now available as an open-source...
, UWIN
UWIN
UWIN is a computer software package created by David Korn which allows programs written for the operating system Unix be built and run on Microsoft Windows with few, if any, changes...
(AT&T Unix for Windows, also abbreviated U/WIN), Cygwin
Cygwin
Cygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment...
, DJGPP
DJGPP
DJGPP is a development suite for 386+ IBM PC compatibles which supports DOS-enabled operating systems. It is guided by DJ Delorie, who began the project in 1989. It is a port of the popular GCC compiler, as well as mostly GNU utilities such as bash, find, tar, ls, awk, sed, and ld to DPMI...
, Interix
Interix
Interix is the name of an optional, full-featured POSIX and Unix environment subsystem for Microsoft's Windows NT-based operating systems.Interix is a component of the Services for Unix release 3.0 and 3.5...
, and other programmes of the same type. Windows Services For Unix in most versions provides a Korn and C shell as well as Perl capable of command line use.
Unix shells are also available for other operating systems including OS/2
OS/2
OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...
and VMS
VMS
- Communication and transportation :* Voice Mail System, automated telephone messaging* Video Messaging Service , video messaging for 3G handsets* VMS MobiFone, one of the largest mobile phone operators in Vietnam...
, as well as the main VMS shell, DCL
DCL
- Organizations :* Detroit College of Law, now known as Michigan State University College of Law* Data Connection Ltd, see Metaswitch* Disney Cruise Line, a cruise line company * Distillers Company Limited, a producer of spirits...
being available for DOS, Windows, OS/2, and Unix-type systems in various forms.
Versions of DOS and Windows NT shells are also available for Unix/Linux type systems.
Non-Unix shells
- 4DOS4DOS4DOS is a command line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in DOS and Windows 95/98/Me. The 4DOS family of programs are meant to replace the default command processor. 4OS2 and 4NT replace CMD.EXE in OS/2 and Windows NT respectively...
, 4OS2, 4NT4NTTake Command Console , formerly known as 4DOS for Windows NT and 4NT, is a command line interpreter by JP Software, designed as a substitute for the default command interpreter in Microsoft Windows...
– shells for DOSDOSDOS, short for "Disk Operating System", is an acronym for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions 95, 98, and Millennium Edition.Related...
, OS/2OS/2OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...
, and Windows NT written and sold by JP Software. The Take CommandTake Command (command line interpreter)Take Command was the name that JP Software used for their GUI command line interpreters for Windows 3.1 , Windows 32-bit and later OS/2 Presentation Manager . These were released concurrently with version 4DOS 5.5, 4NT 2.5 and 4OS2 2.52...
programs were compatible shells requiring and enjoying a GUIGuiGui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...
. Like command.com, 4DOS can of course be run on Windows NT type systems and at least some versions run on OS/2 as well, and early 4OS/2 versions can be run on Windows NT by means of the OS/2 environmental subsystem included in versions 3.51 and 4.0 of Windows NT. - Amiga CLI/AmigaShell, which functioned as an alternative to the AmigaOSAmigaOSAmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000...
GUI, called WorkbenchWorkbench (AmigaOS)-Overview:Commodore named their Amiga computer's first operating system Workbench 1.0 and continued with the Workbench name until version 3.1, when it was changed to AmigaOS, prompted by Apple renaming their propriety OS from "System" to "MacOS"... - BASIC-PLUSBASIC-PLUSBASIC-PLUS was an extended dialect of the BASIC programming language developed by Digital Equipment Corporation for use on its RSTS/E time-sharing operating system for the PDP-11 series of 16-bit minicomputers in the early 1970s through the 1980s....
– RSTS/ERSTS/ERSTS is a multi-user time-sharing operating system, developed by Digital Equipment Corporation , for the PDP-11 series of 16-bit minicomputers. The first version of RSTS was implemented in 1970 by DEC software engineers that developed the TSS-8 time-sharing operating system for the PDP-8... - Beemos (BEEMos) – A small project that provides settings, applications, and feels like a separate OS that runs over Windows XPWindows XPWindows XP is an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops and media centers. First released to computer manufacturers on August 24, 2001, it is the second most popular version of Windows, based on installed user base...
. - CANDE MCSCANDECANDE is a command line shell and text editor on the MCP operating system which runs on the Unisys Clearpath series of mainframes...
– command line shell and text editor on the MCPMCP (Burroughs Large Systems)The MCP is the proprietary operating system of the Burroughs large systems including the Unisys Clearpath/MCP systems....
operating system - CCP – console command processor of CP/MCP/MCP/M was a mass-market operating system created for Intel 8080/85 based microcomputers by Gary Kildall of Digital Research, Inc...
- cmd.exeCmd.exeCommand Prompt is the Microsoft-supplied command-line interpreter on OS/2, Windows CE and on Windows NT-based operating systems...
– CMD.exe is the name of the main shell for OS/2OS/2OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...
, Windows CEWindows CEMicrosoft Windows CE is an operating system developed by Microsoft for embedded systems. Windows CE is a distinct operating system and kernel, rather than a trimmed-down version of desktop Windows...
and Windows NTWindows NTWindows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement...
-based operating systems. Although similar in name, they are notably different. Emulators exist for some versions of Windows CE of the Windows NT 4.0 version of cmd.exe as well as the MS-DOSMS-DOSMS-DOS is an operating system for x86-based personal computers. It was the most commonly used member of the DOS family of operating systems, and was the main operating system for IBM PC compatible personal computers during the 1980s to the mid 1990s, until it was gradually superseded by operating...
6.22 and PC-DOSPC-DOSIBM PC DOS is a DOS system for the IBM Personal Computer and compatibles, manufactured and sold by IBM from the 1980s to the 2000s....
7 versions of command.com, and at least one version of the DR-DOSDR-DOSDR-DOS is an MS-DOS-compatible operating system for IBM PC-compatible personal computers, originally developed by Gary Kildall's Digital Research and derived from Concurrent PC DOS 6.0, which was an advanced successor of CP/M-86...
analogue thereof. After version 2.2, OS/2 has Rexx directly available to it in the default installation, as does PC-DOS 7 and subsequent versions. It is difficult or impossible to use the native Windows CE version in batch mode in some versions. Windows NT cmd.exe includes math and many other programming functions not available in MS-DOS/Windows 95-98 command.com batch programming; programs written for batch-mode execution by the former are often called shell programs and the latter batch files. - COMMAND.COMCOMMAND.COMCOMMAND.COM is the filename of the default operating system shell for DOS operating systems and the default command line interpreter on Windows 95, Windows 98 and Windows Me...
– shell for various DOSDOSDOS, short for "Disk Operating System", is an acronym for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions 95, 98, and Millennium Edition.Related...
versions including Windows 95-98-ME, also present in the operating systems of the Windows NT-2000 and XP substreams. MS-DOS Command.com is directly available when using OS/2 on a dual-boot configuration. - Console – A replacement for the Win32 consoleWin32 consoleWin32 console is a text user interface implementation within the system of Windows API, which runs console applications. A Win32 console has a screen buffer and an input buffer, and is available both as a window or in text mode screen, with switching back and forth available via Alt-Enter...
window. The default back-end is cmd.exe but other shells like PyCmd can be used too. - Commodore DOS WedgeDOS WedgeThe DOS Wedge was a popular piece of Commodore 64 system software. Written by Bob Fairbairn, it was included by Commodore on the 1541 disk drive Test/Demo Disk and also packaged with the C64 Macro Assembler...
– an extension to the Commodore 64Commodore 64The Commodore 64 is an 8-bit home computer introduced by Commodore International in January 1982.Volume production started in the spring of 1982, with machines being released on to the market in August at a price of US$595...
's BASICBASICBASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use - the name is an acronym from Beginner's All-purpose Symbolic Instruction Code....
2.0 that included shorthand for common disk operations - DCLDIGITAL Command LanguageDCL, the DIGITAL Command Language, is the standard command languageadopted by most of the operating systems that were sold by the former Digital Equipment Corporation...
– the standard shell for OpenVMSOpenVMSOpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...
, deriving from versions created for earlier DECDigital Equipment CorporationDigital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...
operating systems - DDTDynamic debugging techniqueDynamic Debugging Technique, or DDT, was the name of several debugger programs originally developed for DEC hardware, initially known as DEC Debugging Tape because it was distributed on paper tape. The name is a pun on the insecticide Dynamic Debugging Technique, or DDT, was the name of several...
– PDP-10PDP-10The PDP-10 was a mainframe computer family manufactured by Digital Equipment Corporation from the late 1960s on; the name stands for "Programmed Data Processor model 10". The first model was delivered in 1966...
debuggerDebuggerA debugger or debugging tool is a computer program that is used to test and debug other programs . The code to be examined might alternatively be running on an instruction set simulator , a technique that allows great power in its ability to halt when specific conditions are encountered but which...
from DECDigital Equipment CorporationDigital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...
used as a command shell for the MITMassachusetts Institute of TechnologyThe Massachusetts Institute of Technology is a private research university located in Cambridge, Massachusetts. MIT has five schools and one college, containing a total of 32 academic departments, with a strong emphasis on scientific and technological education and research.Founded in 1861 in...
Incompatible Timesharing SystemIncompatible Timesharing SystemITS, the Incompatible Timesharing System , was an early, revolutionary, and influential time-sharing operating system from MIT; it was developed principally by the Artificial Intelligence Laboratory at MIT, with some help from Project MAC.In addition to being technically influential ITS, the... - DROSDroßDroß is a municipality in the district of Krems-Land, Lower Austria, Austria. As of 2001, the population is 778 and the area is 10.3 km². The burgomaster is Andreas Neuwirth. Droß is the birthplace of composer Franz Krenn.-External links:*...
– Java MEJava Platform, Micro EditionJava Platform, Micro Edition, or Java ME, is a Java platform designed for embedded systems . Target devices range from industrial controls to mobile phones and set-top boxes...
platform based DOS like shell for smart phonesSmartphoneA smartphone is a high-end mobile phone built on a mobile computing platform, with more advanced computing ability and connectivity than a contemporary feature phone. The first smartphones were devices that mainly combined the functions of a personal digital assistant and a mobile phone or camera...
. - EFI-SHELL – an open source Extensible Firmware InterfaceExtensible Firmware InterfaceThe Unified Extensible Firmware Interface is a specification that defines a software interface between an operating system and platform firmware...
command shell - Google ShellGoogle ShellGoogle Shell, or goosh, is an open source browser based Unix-like shell used as a front end for Google search. Written in AJAX the results are shown directly on the page. Google Shell is open source under the Artistic License/GPL. The code is currently hosted on Google Code.-Commands:Users are able...
– Browser based front end for Google SearchGoogle searchGoogle or Google Web Search is a web search engine owned by Google Inc. Google Search is the most-used search engine on the World Wide Web, receiving several hundred million queries each day through its various services.... - iSeries QSHELLISeries QSHELLiSeries QSHELL is a command line interpreter running on the IBM iSeries computer platform. Qshell is based on POSIX and X/Open standards. IBM created the Qshell interpreter primarily to provide support for the Java Development Kit on their iSeries line of computers...
– Unix style shell on the IBMIBMInternational Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
OS/400OS/400IBM i is an EBCDIC based operating system that runs on IBM Power Systems. It is the current evolution of the operating system named i5/OS which was originally named OS/400 when it was introduced with the AS/400 computer system in 1988.... - Macintosh Programmer's WorkshopMacintosh Programmer's WorkshopMacintosh Programmer's Workshop or MPW, is a software development environment for the Classic Mac OS, written by Apple Computer. For Macintosh developers, it was one of the primary tools for building applications for System 7.x and Mac OS 8.x and 9.x. Initially, MPW was sold as a commercial product...
– old command line environment used for software development on the classic Mac OSMac OSMac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface... - Microsoft BASICMicrosoft BASICMicrosoft BASIC was the foundation product of the Microsoft company. It first appeared in 1975 as Altair BASIC, which was the first BASIC, and the first high level programming language available for the MITS Altair 8800 hobbyist microcomputer....
– the primary operating environment for a number of older 8-bit computer systems - NDOS -- provided with some versions of the Norton UtilitiesNorton UtilitiesNorton Utilities is a utility software suite designed to help analyze, configure, optimize and maintain the computer. The current version 15 of Norton Utilities Premier Edition for Windows XP/Vista/7 was released December 27, 2010....
for DOS along with a set of batch enhancers, this is a lightly modified version 4DOS4DOS4DOS is a command line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in DOS and Windows 95/98/Me. The 4DOS family of programs are meant to replace the default command processor. 4OS2 and 4NT replace CMD.EXE in OS/2 and Windows NT respectively...
. - PyCmd – A cmd.exe replacement, using the Win32 consoleWin32 consoleWin32 console is a text user interface implementation within the system of Windows API, which runs console applications. A Win32 console has a screen buffer and an input buffer, and is available both as a window or in text mode screen, with switching back and forth available via Alt-Enter...
window. - RexxREXXREXX is an interpreted programming language that was developed at IBM. It is a structured high-level programming language that was designed to be both easy to learn and easy to read...
– IBM's scripting languages - Singularity shellSingularity (operating system)Singularity is an experimental operating system being built by Microsoft Research since 2003. It is intended as a highly-dependable OS in which the kernel, device drivers, and applications are all written in managed code.- Workings :...
– the standard shell for SingularitySingularity (operating system)Singularity is an experimental operating system being built by Microsoft Research since 2003. It is intended as a highly-dependable OS in which the kernel, device drivers, and applications are all written in managed code.- Workings :... - Windows PowerShellWindows PowerShellWindows PowerShell is Microsoft's task automation framework, consisting of a command-line shell and associated scripting language built on top of, and integrated with the .NET Framework...
– the object-oriented successor of cmd.exe (formerly known as Monad or the Microsoft Shell (MSH)) - Windows Recovery ConsoleRecovery ConsoleThe Recovery Console is a feature of the Windows 2000, Windows XP and Windows Server 2003 operating systems. It provides the means for administrators to perform a limited range of tasks using a command line interface. Its primary function is to enable administrators to recover from situations...
– feature of the Windows 2000Windows 2000Windows 2000 is a line of operating systems produced by Microsoft for use on personal computers, business desktops, laptops, and servers. Windows 2000 was released to manufacturing on 15 December 1999 and launched to retail on 17 February 2000. It is the successor to Windows NT 4.0, and is the...
, Windows XPWindows XPWindows XP is an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops and media centers. First released to computer manufacturers on August 24, 2001, it is the second most popular version of Windows, based on installed user base...
and Windows 2003 operating systems - YouShell – JavaScript based command processor of YouOSYouOSYouOS was a web desktop and web integrated development environment, developed by WebShaka until June 2008.YouOS replicated the desktop environment of a modern operating system on a webpage, using JavaScript to communicate with the remote server...
Shells for programming languages
Noteworthy interactive versions of programming languageProgramming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
s include:
- The Read-eval-print loopRead-eval-print loopA read–eval–print loop , also known as an interactive toplevel, is a simple, interactive computer programming environment. The term is most usually used to refer to a Lisp interactive environment, but can be applied to command line shells and similar environments for F#, Smalltalk, Standard ML,...
commonly associated with Lisp, but used in other programming languages as well. An example is SLIMESLIMESLIME, the Superior Lisp Interaction Mode for Emacs, is an Emacs mode for developing Common Lisp applications. SLIME originates in an Emacs mode called SLIM written by Eric Marsden and developed as an open-source project by Luke Gorrie and Helmut Eller. Over 100 Lisp developers have contributed...
for Common LispCommon LispCommon Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 , . From the ANSI Common Lisp standard the Common Lisp HyperSpec has been derived for use with web browsers...
. - BeanShellBeanShellBeanShell is a Java scripting language, invented by Patrick Niemeyer. It runs in the Java Runtime Environment and uses Java syntax, in addition to scripting commands and syntax.- Features :...
– shell for Java - Firebug (Chromebug)Firebug (Firefox extension)Firebug is a web development tool that facilitates the debugging, editing, and monitoring of any website's CSS, HTML, DOM, XHR, and JavaScript; it also provides other web development tools. Firebug's JavaScript panel can log errors, profile function calls, and enable the developer to run arbitrary...
– JavaScript shell and debugging environment as Firefox plugin - GMLCMD – GML Shell
- Interactive Ruby ShellInteractive Ruby ShellInteractive Ruby Shell is a shell for programming in the object-oriented scripting language Ruby. The program is launched from a command line and allows the execution of Ruby commands with immediate response, experimenting in real-time...
– interactive version of Ruby - JavaScript shell – several programs by this name allow interactive JavaScript
- PHPsh – shell for PHPPHPPHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...
- PythonPython (programming language)Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
's standard interpreter can be invoked in a shell mode - WishWishA wish is a hope or desire for something. Fictionally, wishes can be used as plot devices. In folklore, opportunities for "making a wish" or for wishes to "come true" or "be granted" are themes that are sometimes used.-In literature:...
(GUI) and tclsh (CLI) for Tcl/Tk - tkcon shell and IDEIntegrated development environmentAn integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
for Tcl/Tk has many hidden powers, including interacting with other running Tcl/Tk programs. - RexxREXXREXX is an interpreted programming language that was developed at IBM. It is a structured high-level programming language that was designed to be both easy to learn and easy to read...
implementations can be invoked and used interactively in a fashion which allows access to the shell on which it is run, and both Rexx programmes and shell scripts for the latter can be written in this way. - BASICBASICBASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use - the name is an acronym from Beginner's All-purpose Symbolic Instruction Code....
versions as well as other languages may in some cases have commands like kill, system, files, and others which allow operating system access from the interactive and often from programme mode. - The Windows Script HostWindows Script HostThe Microsoft Windows Script Host is an automation technology for Microsoft Windows operating systems that provides scripting capabilities comparable to batch files, but with a greater range of supported features...
, which uses scripting engines for many glue languageGlue languageA glue language is a programming language used for connecting software components together.Examples of glue languages:* Unix Shell scripts * Windows NT type Shell scripts...
s like Perl, Rexx, PHP, Ruby, Tcl, Delphi, XSLT, Python and others and has those for VBScriptVBScriptVBScript is an Active Scripting language developed by Microsoft that is modeled on Visual Basic. It is designed as a “lightweight” language with a fast interpreter for use in a wide variety of Microsoft environments...
, JScriptJScriptJScript is a scripting language based on the ECMAScript standard that is used in Microsoft's Internet Explorer.JScript is implemented as a Windows Script engine. This means that it can be "plugged in" to any application that supports Windows Script, such as Internet Explorer, Active Server Pages,...
, and VBAVisual Basic for ApplicationsVisual Basic for Applications is an implementation of Microsoft's event-driven programming language Visual Basic 6 and its associated integrated development environment , which are built into most Microsoft Office applications...
installed by default, is capable of running in interactive mode from cmd.exe, command.com, or most other shells running under Windows like the MKS Unix shells, (or any script or programme with OS access or the Run box of the GUI) by invoking as CScript.exe //I.
Shells for Other Software
Some implementations of telnetTELNET
Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...
, other telecommunications tools, and other types of software can have shells capable of interactive and batch/script use.
On Microsoft Windows
Modern versions of the Microsoft WindowsMicrosoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
operating system use Windows Shell
Windows Shell
The Windows shell is the main graphical user interface in Microsoft Windows, and since Windows 95 hosted by Windows Explorer. The Windows shell includes well-known Windows components such as the Taskbar and the Start menu...
as their shell. Explorer provides the familiar desktop environment
Desktop environment
In graphical computing, a desktop environment commonly refers to a style of graphical user interface derived from the desktop metaphor that is seen on most modern personal computers. These GUIs help the user in easily accessing, configuring, and modifying many important and frequently accessed...
, start menu
Start menu
The Start Menu and Start Button are user interface elements used in the later versions of the Microsoft Windows operating systems and in some X window managers...
, and task bar, as well as the file management functions of the operating system. Older versions also include Program Manager
Program Manager
Program Manager is the shell of Windows 3.x and Windows NT 3.x operating systems. This shell exposed a task-oriented graphical user interface , consisting of icons arranged into program groups. It replaced MS-DOS Executive, a file manager, as the default Windows shell.The program derives from the...
(progman.exe) which was the shell for the 3.x series of Microsoft Windows, and which in fact ships with later versions of Windows of both the 95 and NT types at least through Windows XP. The interfaces of Windows versions 1 and 2 were markedly different.
Many individuals and developers dissatisfied with the interface of Windows Explorer have developed software that either alters the functioning and appearance of the shell or replaces it entirely. WindowBlinds
WindowBlinds
WindowBlinds is a computer program that allows users to skin the Windows graphical user interface. It has been developed by Stardock since 1998, and is the most popular component of their flagship software suite, Object Desktop. It is also available separately, and as an ActiveX/COM component...
by StarDock
Stardock
Stardock Corporation is a software development company founded in 1991 and incorporated in 1993 as Stardock Systems. Stardock initially developed for the OS/2 platform, but was forced to switch to Windows due to the collapse of the OS/2 software market between 1997 and 1998...
is a good example of the former sort of application. LiteStep
LiteStep
LiteStep is a Windows Shell replacement for Windows 9x and up, licensed under the terms of the GNU General Public License .LiteStep may appeal to people who like their desktop to be visually appealing, people who like to configure their environment, Unix/Linux users, and people who find the Start...
, SharpE
SharpE
SharpE, also shortened as #E, is an open-source shell replacement for Microsoft Windows XP and later versions, released under the GNU General Public License . The goal of the project is to create a user friendly desktop environment that provides advanced and modern desktop features but remains...
and Emerge Desktop
Emerge Desktop
Emerge Desktop is a replacement shell for Windows 2000, Windows XP , Windows Vista and Windows 7 written in C++, primarily developed with the MinGW compiler, and is licensed under the GNU General Public License, Version 3....
are good examples of the latter.
Interoperability programmes and purpose-designed software allows Windows users to also use equivalents of many of the various Unix-based GUIs discussed below as well as Macintosh, and an equivalent of the OS/2 Presentation Manager for version 3.0 is available to run some OS/2 programmes under some conditions using the OS/2 environmental subsystem in versions of Windows NT. For an example of the first, X Window-type environments can be run using combinations of Windows/Unix interoperability packages, communications suites such as Hummingbird Connectivity, and/or X server progammes for Windows such as WinAxe and others.
On X Window System
Graphical (GUIGraphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
) shells typically build on top of a windowing system
Windowing system
A windowing system is a component of a graphical user interface , and more specifically of a desktop environment, which supports the implementation of window managers, and provides basic support for graphics hardware, pointing devices such as mice, and keyboards...
. In case of the X Window System
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...
, there are both independent X window manager
X window manager
An X window manager is a window manager which runs on top of the X Window System, a windowing system mainly used on Unix-like systems.Unlike the Mac OS and Microsoft Windows platforms which have historically provided a vendor-controlled, fixed set of ways to control how windows and panes display...
s, and complete desktop environment
Desktop environment
In graphical computing, a desktop environment commonly refers to a style of graphical user interface derived from the desktop metaphor that is seen on most modern personal computers. These GUIs help the user in easily accessing, configuring, and modifying many important and frequently accessed...
s which depend on a window manager.
X Window System environments (mainly for Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
operating systems):
- independent X window managers, such as BlackboxBlackboxIn Unix computing, Blackbox is a stacking window manager for the X Window System.Blackbox has specific design goals, and some functionality is provided only through other applications. One example is the bbkeys hotkey application....
and FluxboxFluxboxFluxbox is a stacking window manager for the X Window System, which started as a fork of Blackbox 0.61.1, with the same aim to be lightweight. Its user interface has only a taskbar, a pop-up menu accessible by right-clicking on the desktop, and minimal support for graphical icons... - desktop shells, such as EnlightenmentEnlightenment (window manager)Enlightenment, also known simply as E, is a stacking window manager for the X Window System which can be used alone or in conjunction with a desktop environment such as GNOME or KDE...
DR17 - full desktop environments, such as:
- CDECommon Desktop EnvironmentThe Common Desktop Environment is a desktop environment for Unix and OpenVMS, based on the Motif widget toolkit.- Corporate history :...
- GNOMEGNOMEGNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...
- KDEKDEKDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...
- XfceXfceXfce is a free software desktop environment for Unix and other Unix-like platforms, such as Linux, Solaris, and BSD – though recent compatibility issues have arisen with regard to BSD Unix platforms...
- LXDE
- CDE
On other platforms
- AmigaAmigaThe Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...
environments:- AmbientAmbient desktopAmbient is a MUI-based desktop environment for MorphOS. Its development was started in 2001 by David Gerber. Its main goals were that it should be simple and fast...
(for MorphOSMorphOSMorphOS is an Amiga-compatible computer operating system. It is a mixed proprietary and open source OS produced for the Pegasos PowerPC processor based computer, PowerUP accelerator equipped Amiga computers, and a series of Freescale development boards that use the Genesi firmware, including the...
) - Directory OpusDirectory OpusDirectory Opus is a popular file manager program, originally written for the Amiga computer system in the early to mid 1990s...
- ScalOS
- Wanderer (for AROS)
- WorkbenchWorkbench (AmigaOS)-Overview:Commodore named their Amiga computer's first operating system Workbench 1.0 and continued with the Workbench name until version 3.1, when it was changed to AmigaOS, prompted by Apple renaming their propriety OS from "System" to "MacOS"...
- Ambient
- DOS ShellDOS ShellThe DOS Shell is a file manager, debuted in MS-DOS and IBM DOS 4.0 . It was discontinued after version 6.0, but retained as part of the "Supplemental Disk" until 6.22 for MS-DOS; as such, it was not a core part of the operating system throughout its evolution, but rather an add-on...
- Finder (for Mac OS XMac OS XMac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
) - Doors CS, MirageOS, Ion, and CrunchyOS (for TI-83 and TI-84 series graphing calculators)
- OS/2OS/2OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...
environments:- Presentation ManagerPresentation ManagerPresentation Manager is the graphical user interface that IBM and Microsoft introduced in version 1.1 of their operating system OS/2 in late 1988.-History:...
(for OS/2 1.1 and greater and eComStationEComStationeComStation or eCS is a PC operating system based on OS/2, published by Serenity Systems. It includes several additions and accompanying software not present in the IBM version of the system.-Differences between eComStation and OS/2:...
) - Workplace ShellWorkplace ShellThe Workplace Shell is a object-oriented desktop shell produced by IBM's Boca Raton development lab for OS/2 2.0. It is based on Common User Access and made a radical shift away from the Program Manager type interface that earlier versions of OS/2 shared with Windows 3.x or the...
(for OS/2 2.0 and greater and eComStation)
- Presentation Manager
See also
- Batch fileBatch fileIn DOS, OS/2, and Microsoft Windows, batch file is the name given to a type of script file, a text file containing a series of commands to be executed by the command interpreter....
- Comparison of computer shellsComparison of computer shellsA command shell is a command line interface computer program to an operating system.- General characteristics :- Interactive features :- Programming features :- Syntax :- Data types :- String and filename matching :...
- DOS ShellDOS ShellThe DOS Shell is a file manager, debuted in MS-DOS and IBM DOS 4.0 . It was discontinued after version 6.0, but retained as part of the "Supplemental Disk" until 6.22 for MS-DOS; as such, it was not a core part of the operating system throughout its evolution, but rather an add-on...
- Internet Explorer shellInternet Explorer shellAn Internet Explorer shell is any computer software that uses the Trident rendering engine of the Internet Explorer web browser. Although the term "Trident shell" is probably more accurate for describing these applications , the term "Internet Explorer shell", or "IE shell", is in common parlance...
- Shell accountShell accountA shell account is a user account on a remote server which gives access to a shell via a command-line interface protocol such as telnet or ssh....
- Shell builtinShell builtinIn computing, a shell builtin is a command or a function, called from a shell, that is executed directly in the shell itself, instead of an external executable program which the shell would load and execute....
- Shell scriptShell scriptA shell script is a script written for the shell, or command line interpreter, of an operating system. It is often considered a simple domain-specific programming language...
- Unix shellUnix shellA Unix shell is a command-line interpreter or shell that provides a traditional user interface for the Unix operating system and for Unix-like systems...