Shell (computing)
Encyclopedia
A shell is a piece of software that provides an interface
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 shell
Unix 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 shell
Unix 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 shell
    Bourne shell
    The 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 shell
        Debian Almquist shell
        The 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)
    • Bourne-Again shell (bash)
    • Korn shell
      Korn shell
      The 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 shell
        Z shell
        The 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)
  • C shell
    C shell
    The 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 shell
      Hamilton C shell
      Hamilton 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...

  • EMACS
    Emacs
    Emacs 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 shell
    Es shell
    The 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 shell
    Friendly interactive shell
    The 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 Labs
    Plan 9 from Bell Labs
    Plan 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 Unix
    Unix
    Unix 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...

  • scsh
    Scsh
    Scsh 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 Shell
    Stand-alone shell
    Stand-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)
  • BeanShell
    BeanShell
    BeanShell 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
  • rsh
    Remote Shell
    The 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 Tcl
    Tcl
    Tcl 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 sendmail
    Sendmail
    Sendmail 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.
  • sqsh
    Sqsh
    Sqsh , 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 SQL
    SQL
    SQL 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

  • 4DOS
    4DOS
    4DOS 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, 4NT
    4NT
    Take 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 DOS
    DOS
    DOS, 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/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 Windows NT written and sold by JP Software. The Take Command
    Take 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 GUI
    Gui
    Gui 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 AmigaOS
    AmigaOS
    AmigaOS 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 Workbench
    Workbench (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-PLUS
    BASIC-PLUS
    BASIC-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/E
    RSTS/E
    RSTS 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 XP
    Windows XP
    Windows 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 MCS
    CANDE
    CANDE 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 MCP
    MCP (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/M
    CP/M
    CP/M was a mass-market operating system created for Intel 8080/85 based microcomputers by Gary Kildall of Digital Research, Inc...

  • cmd.exe
    Cmd.exe
    Command 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/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...

    , Windows CE
    Windows CE
    Microsoft 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 NT
    Windows NT
    Windows 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-DOS
    MS-DOS
    MS-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-DOS
    PC-DOS
    IBM 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-DOS
    DR-DOS
    DR-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.COM
    COMMAND.COM
    COMMAND.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 DOS
    DOS
    DOS, 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 console
    Win32 console
    Win32 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 Wedge
    DOS Wedge
    The 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 64
    Commodore 64
    The 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 BASIC
    BASIC
    BASIC 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
  • DCL
    DIGITAL Command Language
    DCL, 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 OpenVMS
    OpenVMS
    OpenVMS , 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 DEC
    Digital Equipment Corporation
    Digital 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
  • DDT
    Dynamic debugging technique
    Dynamic 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-10
    PDP-10
    The 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...

     debugger
    Debugger
    A 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 DEC
    Digital Equipment Corporation
    Digital 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 MIT
    Massachusetts Institute of Technology
    The 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 System
    Incompatible Timesharing System
    ITS, 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...

  • DROS
    Droß
    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 ME
    Java Platform, Micro Edition
    Java 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 phones
    Smartphone
    A 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 Interface
    Extensible Firmware Interface
    The Unified Extensible Firmware Interface is a specification that defines a software interface between an operating system and platform firmware...

     command shell
  • Google Shell
    Google Shell
    Google 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 Search
    Google search
    Google 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 QSHELL
    ISeries QSHELL
    iSeries 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 IBM
    IBM
    International 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/400
    OS/400
    IBM 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 Workshop
    Macintosh Programmer's Workshop
    Macintosh 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 OS
    Mac OS
    Mac 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 BASIC
    Microsoft BASIC
    Microsoft 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 Utilities
    Norton Utilities
    Norton 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 4DOS
    4DOS
    4DOS 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 console
    Win32 console
    Win32 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.
  • Rexx
    REXX
    REXX 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 shell
    Singularity (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 Singularity
    Singularity (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 PowerShell
    Windows PowerShell
    Windows 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 Console
    Recovery Console
    The 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 2000
    Windows 2000
    Windows 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 XP
    Windows XP
    Windows 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 YouOS
    YouOS
    YouOS 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 language
Programming 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 loop
    Read-eval-print loop
    A 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 SLIME
    SLIME
    SLIME, 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 Lisp
    Common Lisp
    Common 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...

    .
  • BeanShell
    BeanShell
    BeanShell 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 Shell
    Interactive Ruby Shell
    Interactive 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 PHP
    PHP
    PHP 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...

  • Python
    Python (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
  • Wish
    Wish
    A 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 IDE
    Integrated development environment
    An 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.
  • Rexx
    REXX
    REXX 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.
  • BASIC
    BASIC
    BASIC 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 Host
    Windows Script Host
    The 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 language
    Glue language
    A 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 VBScript
    VBScript
    VBScript 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...

    , JScript
    JScript
    JScript 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 VBA
    Visual Basic for Applications
    Visual 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 telnet
TELNET
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 Windows
Microsoft 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 (GUI
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...

) 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 Blackbox
    Blackbox
    In 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 Fluxbox
    Fluxbox
    Fluxbox 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 Enlightenment
    Enlightenment (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:
    • CDE
      Common Desktop Environment
      The Common Desktop Environment is a desktop environment for Unix and OpenVMS, based on the Motif widget toolkit.- Corporate history :...

    • GNOME
      GNOME
      GNOME 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...

    • KDE
      KDE
      KDE 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...

    • Xfce
      Xfce
      Xfce 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

On other platforms

  • Amiga
    Amiga
    The 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:
    • Ambient
      Ambient desktop
      Ambient 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 MorphOS
      MorphOS
      MorphOS 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 Opus
      Directory Opus
      Directory Opus is a popular file manager program, originally written for the Amiga computer system in the early to mid 1990s...

    • ScalOS
    • Wanderer (for AROS)
    • Workbench
      Workbench (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"...


  • DOS Shell
    DOS Shell
    The 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 X
    Mac OS X
    Mac 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/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...

     environments:
    • Presentation Manager
      Presentation Manager
      Presentation 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 eComStation
      EComStation
      eComStation 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 Shell
      Workplace Shell
      The 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)

See also

  • Batch file
    Batch file
    In 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 shells
    Comparison of computer shells
    A 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 Shell
    DOS Shell
    The 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 shell
    Internet Explorer shell
    An 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 account
    Shell account
    A 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 builtin
    Shell builtin
    In 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 script
    Shell script
    A 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 shell
    Unix 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...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK