In computing , a shell is a computer program that exposes an operating system 's services to a human user or other programs. In general, operating system shells use either a command-line interface (CLI) or graphical user interface (GUI), depending on a computer's role and particular operation. It is named a shell because it is the outermost layer around the operating system.
73-458: The Bourne shell ( sh ) is a shell command-line interpreter for computer operating systems . The Bourne shell was the default shell for Version 7 Unix . 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 other shells are used by most users. Developed by Stephen Bourne at Bell Labs , it
146-522: A read–eval–print loop, REPL ). Since the operating system shell is actually an application, it may easily be replaced with another similar application, for most operating systems. In addition to shells running on local systems, there are different ways to make remote systems available to local users; such approaches are usually referred to as remote access or remote administration. Initially available on multi-user mainframes , which provided text-based UIs for each active user simultaneously by means of
219-527: A Wayland compositor such as Sway , KDE 's KWin , or GNOME 's Mutter ), a desktop environment (most commonly GNOME , KDE Plasma , or Xfce ), a sound server (usually either PulseAudio or more recently PipeWire ), and other related programs may be included or installed by the user. Typically, most of the included software is free and open-source software – made available both as binary for convenience and as source code to allow for modifying it. A distro may also include proprietary software that
292-432: A teletypewriter can send codes representing keystrokes to a command interpreter program running on the computer; the command interpreter parses the sequence of keystrokes and responds with an error message if it cannot recognize the sequence of characters, or it may carry out some other program action such as loading an application program, listing files, logging in a user and many others. Operating systems such as UNIX have
365-688: A text terminal connected to the mainframe via serial line or modem , remote access has extended to Unix-like systems and Microsoft Windows. On Unix-like systems, Secure Shell protocol (SSH) is usually used for text-based shells, while SSH tunneling can be used for X Window System –based graphical user interfaces (GUIs). On Microsoft Windows, Remote Desktop Protocol can be used to provide GUI remote access, and since Windows Vista , PowerShell Remote can be used for text-based remote access via WMI, RPC, and WS-Management. Most operating system shells fall into one of two categories – command-line and graphical. Command-line shells provide
438-439: A CD with only a small amount of data on it. New users tend to begin by partitioning a hard drive in order to keep their previously installed operating system. The Linux distribution can then be installed on its own separate partition without affecting previously saved data. In a Live CD setup, the computer boots the entire operating system from CD without first installing it on the computer's hard disk. Many distributions have
511-526: A Live CD installer , where the computer boots the operating system from the disk, and it can then be installed on the computer's hard disk, providing a seamless transition from the OS running from the CD to the OS running from the hard disk. Both servers and personal computers that come with Linux already installed are available from vendors including Hewlett-Packard , Dell and System76 . On embedded devices, Linux
584-628: A clone of the Bourne Shell, known by some as the Almquist shell and available under the BSD license , which is in use today on some BSD descendants and in low-memory situations. The Almquist Shell was ported to Linux, and the port renamed the Debian Almquist shell , or dash. This shell provides faster execution of standard sh (and POSIX-standard sh , in modern descendants) scripts with
657-424: A command-line interface (CLI) to the operating system, while graphical shells provide a graphical user interface (GUI). Other possibilities, although not so common, include a voice user interface and various implementations of a text-based user interface (TUI) that are not CLI, such as text-based menu systems. The relative merits of CLI- and GUI-based shells are often debated. Many computer users use both depending on
730-459: A command-line interface. For example, in Unix-like systems, the telnet program has a number of commands for controlling a link to a remote computer system. Since the commands to the program are made of the same keystrokes as the data being sent to a remote computer, some means of distinguishing the two are required. An escape sequence can be defined, using either a special local keystroke that
803-512: A distribution, an administrator may create a "distributionless" installation. It is possible to build such systems from scratch, avoiding distributions altogether. One needs a way to generate the first binaries until the system is self-hosting . This can be done via compilation on another system capable of building binaries for the intended target (possibly by cross-compilation ). For example, see Linux From Scratch . In broad terms, Linux distributions may be: The diversity of Linux distributions
SECTION 10
#1732773062041876-530: A large variety of shell programs with different commands, syntax and capabilities, with the POSIX shell being a baseline. Some operating systems had only a single style of command interface; commodity operating systems such as MS-DOS came with a standard command interface ( COMMAND.COM ) but third-party interfaces were also often available, providing additional features or functions such as menuing or remote program execution. Application programs may also implement
949-653: A new SLS-based distribution, Slackware , was released by Patrick Volkerding . Also dissatisfied with SLS, Ian Murdock set to create a free distribution by founding Debian in August 1993, with first public BETA released in January 1994 and first stable version in June 1996. Users were attracted to Linux distributions as alternatives to the DOS and Microsoft Windows operating systems on IBM PC compatible computers, Mac OS on
1022-464: A package are present (and either notify the user to install them, or install them automatically). The package can also be provided as source code to be compiled on the system. Most distributions install packages, including the kernel and other core operating system components, in a predetermined configuration. A few now require or permit configuration adjustments at first install time. This makes installation less daunting, particularly for new users, but
1095-404: A proprietary operating system or by translating proprietary API calls (e.g., calls to Microsoft's Win32 or DirectX APIs) into native Linux API calls. A virtual machine can also be used to run a proprietary OS (like Microsoft Windows) on top of Linux. Computer hardware is usually sold with an operating system other than Linux already installed by the original equipment manufacturer (OEM). In
1168-433: A purpose-built program. Several command-line shells, such as Nushell , Xonsh, Bash (Unix shell) , and Z shell , offer command-line completion , enabling the interpreter to expand commands based on a few characters input by the user. A command-line interpreter may offer a history function, so that the user can recall earlier commands issued to the system and repeat them, possibly with some editing. Since all commands to
1241-419: A set of loosely coupled utilities. Most graphical user interfaces develop the metaphor of an "electronic desktop" , where data files are represented as if they were paper documents on a desk, and application programs similarly have graphical representations instead of being invoked by command names. Graphical shells typically build on top of a windowing system . In the case of X Window System or Wayland ,
1314-459: A shell is a piece of software that is an "empty" expert system without the knowledge base for any particular application. Linux distribution A Linux distribution (often abbreviated as distro ) is an operating system that includes the Linux kernel for its kernel functionality. Although the name does not imply product distribution per se, a distro, if distributed on its own,
1387-757: A smaller memory footprint than its counterpart, Bash. Its use tends to expose bashisms – bash-centric assumptions made in scripts meant to run on sh. The Bourne shell was once standard on all branded Unix systems, although historically BSD -based systems had many scripts written in csh . As the basis of POSIX sh syntax, Bourne shell scripts can typically be run with Bash or dash on Linux or other Unix-like systems. Shell (computing) Operating systems provide various services to their users, including file management , process management (running and terminating applications ), batch processing , and operating system monitoring and configuration. Most operating system shells are not direct interfaces to
1460-466: A specific instruction set , while some (such as Gentoo ) are distributed mostly in source code form and must be built before installation. Linus Torvalds developed the Linux kernel and distributed its first version, 0.01, in 1991. Linux was initially distributed as source code only, and later as a pair of downloadable floppy disk images: one bootable and containing the Linux kernel itself, and
1533-716: A specific application or service. Examples of packages are a library for handling the PNG image format, a collection of fonts, and a web browser . The package is typically provided as compiled code, with installation and removal of packages handled by a package management system (PMS) rather than a simple file archiver . Each package intended for such a PMS contains meta-information such as its description, version number, and its dependencies (other packages it requires to run). The package management system evaluates this meta-information to allow package searches, perform automatic upgrades to newer versions, and to check that all dependencies of
SECTION 20
#17327730620411606-407: A task for which Stephen Bourne himself acknowledged C shell's superiority. Bourne stated, however, that his shell was superior for scripting and was available on any Unix system, and Tom Christiansen also criticized C shell as being unsuitable for scripting and programming. Due to copyright issues surrounding the Bourne Shell as it was used in historic CSRG BSD releases, Kenneth Almquist developed
1679-416: Is a Linux distribution that can be booted from removable storage media such as optical discs or USB flash drives , instead of being installed on and booted from a hard disk drive . The portability of installation-free distributions makes them advantageous for applications such as demonstrations, borrowing someone else's computer, rescue operations, or as installation media for a standard distribution. When
1752-762: Is a Linux distribution; others, such as Google engineer Patrick Brady, disagree by noting the lack of support for many GNU tools in Android, including glibc . Other Linux-kernel-based operating systems include Tizen , Mer / Sailfish OS , KaiOS and Amazon's Kindle firmware . Lightweight Linux distributions are those that have been designed with support for older hardware in mind, allowing older hardware to still be used productively, or, for maximum possible speed in newer hardware by leaving more resources available for use by applications. Examples include Tiny Core Linux , Puppy Linux and Slitaz . Other distributions target specific niches, such as: The Free Standards Group
1825-487: Is a good example of the former sort of application. LiteStep and Emerge Desktop are good examples of the latter. Interoperability programmes and purpose-designed software lets Windows users use equivalents of many of the various Unix-based GUIs discussed below, as well as Macintosh. An equivalent of the OS/2 Presentation Manager for version 3.0 can run some OS/2 programmes under some conditions using
1898-496: Is about 3.67%. Many Linux distributions provide an installation system akin to that provided with other modern operating systems. Other distributions, including Gentoo Linux , provide only the binaries of a basic kernel, compilation tools, and an installer; the installer compiles all the requested software for the specific architecture of the user's computer, using these tools and the software's source code. Distributions are normally segmented into packages . Each package contains
1971-552: Is an organization formed by major software and hardware vendors that aims to improve interoperability between different distributions. Among their proposed standards are the Linux Standard Base , which defines a common ABI and packaging system for Linux, and the Filesystem Hierarchy Standard which recommends a standard filenaming chart, notably the basic directory names found on the root of
2044-671: Is due to technical, organizational, and philosophical variation among vendors and users. The permissive licensing of free software means that users with sufficient knowledge and interest can customize any existing distribution, or design one to suit their own needs. Rolling Linux distributions are kept current using small and frequent updates . The terms partially rolling and partly rolling (along with synonyms semi-rolling and half-rolling ), fully rolling , truly rolling and optionally rolling are sometimes used by software developers and users. Repositories of rolling distributions usually contain very recent software releases —often
2117-471: Is never passed on but always interpreted by the local system. The program becomes modal, switching between interpreting commands from the keyboard or passing keystrokes on as data to be processed. A feature of many command-line shells is the ability to save sequences of commands for re-use. A data file can contain sequences of commands which the CLI can be made to follow as if typed in by a user. Special features in
2190-489: Is not always acceptable. For specific requirements, much software must be carefully configured to be useful, to work correctly with other software, or to be secure, and local administrators are often obliged to spend time reviewing and reconfiguring it. Some (but not all) distributions go to considerable lengths to adjust and customize the software they include, and some provide configuration tools to help users do so. By obtaining and installing everything normally provided in
2263-545: Is not available in source code form, such as a device driver binary . A distro may be described as a particular assortment of application and utility software (various GNU tools and libraries, for example), packaged with the Linux kernel in such a way that its capabilities meet users' needs. The software is usually adapted to the distribution and then combined into software packages by the distribution's maintainers. The software packages are available online in repositories , which are storage locations usually distributed around
Bourne shell - Misplaced Pages Continue
2336-425: Is often obtained via a website intended specifically for the purpose. Distros have been designed for a wide variety of systems ranging from personal computers (for example, Linux Mint ) to servers (for example, Red Hat Enterprise Linux ) and from embedded devices (for example, OpenWrt ) to supercomputers (for example, Rocks Cluster Distribution ). A distro typically includes many components in addition to
2409-424: Is often referred to as "distro hopping". Virtual machine software such as VirtualBox and VMware Workstation virtualize hardware allowing users to test live media on a virtual machine without installing to the real system. Some websites like DistroWatch offer lists of distributions, and link to screenshots of operating systems as a way to get a first impression of various distributions. Some distributions let
2482-516: Is sometimes possible on closely related distributions. There are several ways to install a Linux distribution. The most common method of installing Linux is by booting from a live USB memory stick , which can be created by using a USB image writer application and the ISO image, which can be downloaded from various Linux distribution websites. DVD disks, CD disks, network installations and even other hard drives can also be used as "installation media". In
2555-471: Is typically held in the device's firmware and may or may not be consumer-accessible. Anaconda , one of the more popular installers, is used by Red Hat Enterprise Linux , Fedora (which uses the Fedora Media Writer ) and other distributions to simplify the installation process. Debian, Ubuntu and many others use Debian-Installer . The process of constantly switching between distributions
2628-536: The Apple Macintosh , and proprietary versions of Unix . Most early adopters were familiar with Unix from work or school. They embraced Linux distributions for their low (or absent) cost, and the availability of the source code for most or all of their software. As of 2024, Linux has become more popular in server and embedded devices markets than in the desktop market. It is used in approximately 58.9% of web servers; its current operating system market share
2701-911: The Thompson shell in the first version of Unix. While simpler than the Multics shell, it contained some innovative features, which have been carried forward in modern shells, including the use of < and > for input and output redirection . The graphical shell first appeared in Douglas Engelbart ’s NLS system, demonstrated in December, 1968 at the Fall Joint Computer Conference in San Francisco, in what has been called The Mother of All Demos . Engelbart’s colleagues at Stanford Research Institute brought
2774-544: The finger command distributed in Unix version 4.2BSD ) inspired the International Obfuscated C Code Contest (IOCCC). Over the years, the Bourne shell was enhanced at AT&T. The various variants are thus called like the respective AT&T Unix version it was released with (some important variants being Version7, System III, SVR2, SVR3, SVR4). As the shell was never versioned, the only way to identify it
2847-425: The software development process , standard releases require significant development effort to keep old versions up-to-date by propagating bug fixes back to the newest branch, versus focusing on the newest development branch . Also, unlike rolling releases, standard releases require more than one code branch to be developed and maintained, which increases the workload of the software developers and maintainers. On
2920-400: The 1990s, Linux distributions were installed using sets of floppy disks but this has been abandoned by all major distributions. By the 2000s many distributions offered CD and DVD sets with the vital packages on the first disc and less important packages on later ones. Some distributions, such as Debian also enabled installation over a network after booting from either a set of floppy disks or
2993-443: The 95 and NT types at least through Windows XP. The interfaces of Windows versions 1 and 2 were markedly different. Desktop applications are also considered shells, as long as they use a third-party engine. Likewise, 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
Bourne shell - Misplaced Pages Continue
3066-580: The CLI may apply when it is carrying out these stored instructions. Such batch files (script files) can be used repeatedly to automate routine operations such as initializing a set of programs when a system is restarted. 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
3139-465: The Linux kernel. Commonly, it includes a package manager , an init system (such as systemd , OpenRC , or runit ), GNU tools and libraries , documentation, IP network configuration utilities, the getty TTY setup program, and many more. To provide a desktop experience (most commonly the Mesa userspace graphics drivers) a display server (the most common being the X.org Server , or, more recently,
3212-558: The Microsoft Windows operating system use the Windows shell as their shell. Windows Shell provides desktop environment , start menu , and task bar , as well as a graphical user interface for accessing the file management functions of the operating system. Older versions also include Program Manager , which was the shell for the 3.x series of Microsoft Windows, and which in fact shipped with later versions of Windows of both
3285-459: The OS/2 environmental subsystem in versions of Windows NT. "Shell" is also used loosely to describe application software that is "built around" a particular component, such as web browsers and email clients, in analogy to the shells found in nature. Indeed, the (command-line) shell encapsulates the operating system kernel . These are also sometimes referred to as "wrappers". In expert systems ,
3358-540: The Version 7 UNIX Bourne shell include: The Bourne shell also was the first to feature the convention of using file descriptor 2> for error messages , allowing much greater programmatic control during scripting by keeping error messages separate from data. Stephen Bourne's coding style was influenced by his experience with the ALGOL 68C compiler that he had been working on at Cambridge University . In addition to
3431-606: The case of IBM PC compatibles , the OS is usually Microsoft Windows ; in the case of Apple 's Mac computers, it has always been macOS ; Sun Microsystems sold SPARC hardware with the Solaris installed; video game consoles such as the Xbox , PlayStation , Wii , and the Nintendo Switch each have their own proprietary OS. This limits Linux's market share: consumers are unaware that an alternative exists, they must make
3504-636: The concept to the Xerox Palo Alto Research Center (PARC), where it appeared on the Alto , introduced in 1973. From there the idea spread to Niklaus Wirth ’s Lilith in 1980, and the Apple Lisa in 1983, then became ubiquitous. A command-line interface (CLI) is an operating system shell that uses alphanumeric characters typed on a keyboard to provide instructions and data to the operating system, interactively. For example,
3577-429: The idea of "using commands somehow like a programming language," and coined the term shell to describe it. In a 1965 document, the shell is defined as "a common procedure called automatically by the supervisor whenever a user types in some message at his console, at a time when he has no other process in active execution under console control. This procedure acts as an interface between console messages and subroutine [in
3650-459: The latest stable versions available. They have pseudo-releases and installation media that are simply snapshots of the distribution at the time of the installation image's release. Typically, a rolling-release OS installed from older installation medium can be fully updated after it is installed. Depending on the usage case, there can be pros and cons to both standard release and rolling release software development methodologies . In terms of
3723-435: The need to change the contents of the system's hard disk drive. The website DistroWatch lists many Linux distributions and displays some of the ones that have the most web traffic on the site. The Wikimedia Foundation released an analysis of the browser User Agents of visitors to WMF websites until 2015, which includes details of the most popular Operating System identifiers, including some Linux distributions. Many of
SECTION 50
#17327730620413796-598: The operating system had to be typed by the user, short command names and compact systems for representing program options were common. Short names were sometimes hard for a user to recall, and early systems lacked the storage resources to provide a detailed on-line user instruction guide. A graphical user interface (GUI) provides means for manipulating programs graphically, by allowing for operations such as opening, closing, moving and resizing windows , as well as switching focus between windows. Graphical shells may be included with desktop environments or come separately, even as
3869-797: The operating system is booted from a read-only medium such as a CD or DVD, any user data that needs to be retained between sessions cannot be stored on the boot device but must be written to another storage device, such as a USB flash drive or a hard disk drive. Many Linux distributions provide a "live" form in addition to their conventional form, which is a network-based or removable-media image intended to be used only for installation; such distributions include SUSE , Ubuntu, Linux Mint , MEPIS and Fedora Linux . Some distributions, including Knoppix , Puppy Linux , Devil-Linux, SuperGamer , SliTaz GNU/Linux and dyne:bolic , are designed primarily for live use. Additionally, some minimal distributions can be run directly from as little space as one floppy disk without
3942-450: The other hand, software features and technology planning are easier in standard releases due to a better understanding of upcoming features in the next version(s). Software release cycles can also be synchronized with those of major upstream software projects, such as desktop environments . As for the user experience , standard releases are often viewed as more stable and bug-free since software conflicts can be more easily addressed and
4015-450: The other with a set of GNU utilities and tools for setting up a file system. Since the installation procedure was complicated, especially in the face of growing amounts of available software, distributions sprang up to simplify it. Early distributions included: The two oldest, still active distribution projects started in 1993. The SLS distribution was not well maintained, so in July 1993
4088-475: The popular distributions are listed below. Several operating systems include the Linux kernel, but have a userland that differs significantly from that of mainstream Linux distributions: Whether such operating systems count as a "Linux distribution" is a controversial topic. They use the Linux kernel, so the Linux Foundation and Chris DiBona , Google's former open-source chief, agree that Android
4161-511: The publication of The Unix Programming Environment by Brian Kernighan and Rob Pike —the first commercially published book that presented the shell as a programming language in a tutorial form. Work on the Bourne shell initially started in 1976. First appearing in Version 7 Unix , the Bourne shell was preceded by the Mashey shell . Some of the primary goals of the shell were: Features of
4234-448: The rolling release model can have advantages in timely security updates, fixing system or application security bugs and vulnerabilities , that standard releases may have to wait till the next release for or patch in various versions. In a rolling release distribution, where the user has chosen to run it as a highly dynamic system, the constant flux of software packages can introduce new unintended vulnerabilities. A "live" distribution
4307-561: The shell consists of an X window manager or a Wayland compositor , respectively, as well as of one or multiple programs providing the functionality to start installed applications, to manage open windows and virtual desktops, and often to support a widget engine. In the case of macOS , Quartz Compositor acts as the windowing system, and the shell consists of the Finder , the Dock , SystemUIServer, and Mission Control . Modern versions of
4380-507: The software stack more thoroughly tested and evaluated, during the software development cycle. For this reason, they tend to be the preferred choice in enterprise environments and mission-critical tasks. However, rolling releases offer more current software which can also provide increased stability and fewer software bugs along with the additional benefits of new features, greater functionality, faster running speeds, and improved system and application security . Regarding software security ,
4453-452: The style in which the program was written, Bourne reused portions of ALGOL 68 's if ~ then ~ elif ~ then ~ else ~ fi , case ~ in ~ esac and for / while ~ do ~ od " (using done instead of od ) clauses in the common Unix Bourne shell syntax. Moreover, – although the v7 shell is written in C – Bourne took advantage of some macros to give the C source code an ALGOL 68 flavor. These macros (along with
SECTION 60
#17327730620414526-451: The supervisor]." This system was first implemented by Glenda Schroeder and an unnamed man from General Electric . Multics also introduced the active function , a key concept in all later shells. This is defined as a string... which is replaced by a character string return value before the command line containing it is executed. Active functions are often used... to implement command-language macros. In 1971, Ken Thompson developed
4599-566: The system or a user process. The purpose of such a procedure is to create a medium of exchange into which one could activate any procedure, as if it were called from the inside of another program . Hereafter, for simplification, we shall refer to that procedure as the "SHELL". Louis Pouzin, The SHELL: A Global Tool for Calling and Chaining Procedures in the System In 1964, for the Multics operating system, Louis Pouzin conceived
4672-499: The task to be performed. Early interactive systems provided a simple command-line interpreter as part of the resident monitor . This interpreter might be called by different names, such as COMCON on DEC TOPS-10 systems. The interpreter would execute one of a number of predefined commands, one of which would be to run a user program. Common commands would log the user on and off the system, allocate, free, and manipulate devices and files, and query various pieces of information about
4745-404: The telecommunications industry. The Korn shell (ksh) written by David Korn based on the original Bourne Shell source code, was a middle road between the Bourne shell and the C shell . Its syntax was chiefly drawn from the Bourne shell, while its job control features resembled those of the C shell. The functionality of the original Korn Shell (known as ksh88 from the year of its introduction)
4818-435: The tree of any Linux filesystem. Those standards, however, see limited use, even among the distributions developed by members of the organization. The diversity of Linux distributions means that not all software runs on all distributions, depending on what libraries and other system attributes are required. Packaged software and software repositories are usually specific to a particular distribution, though cross-installation
4891-440: The underlying kernel , even if a shell communicates with the user via peripheral devices attached to the computer directly. Shells are actually special applications that use the kernel API in just the same way as it is used by other application programs. A shell manages the user–system interaction by prompting users for input, interpreting their input, and then handling output from the underlying operating system (much like
4964-467: The user install Linux on top of their current system, such as WinLinux or coLinux . Linux is installed to the Windows hard disk partition, and can be started from inside Windows itself. Virtual machines (such as VirtualBox or VMware ) also make it possible for Linux to be run inside another OS. The VM software simulates a separate computer onto which the Linux system is installed. After installation,
5037-644: The virtual machine can be booted as if it were an independent computer. Various tools are also available to perform full dual-boot installations from existing platforms without a CD, most notably: Some specific proprietary software products are not available in any form for Linux. As of September 2015, the Steam gaming service has over 1,500 games available on Linux, compared to 2,323 games for Mac and 6,500 Windows games. Emulation and API-translation projects like Wine and CrossOver make it possible to run non-Linux-based software on Linux systems, either by emulating
5110-724: The world. Beside "glue" components, such as the distribution installers (for example, Debian-Installer and Anaconda ) and the package management systems, very few packages are actually written by a distribution's maintainers. Distributions have been designed for a wide range of computing environments, including desktops , servers , laptops , netbooks , mobile devices (phones and tablets), and embedded systems . There are commercially backed distributions, such as Fedora Linux ( Red Hat ), openSUSE ( SUSE ) and Ubuntu ( Canonical Ltd. ), and entirely community-driven distributions, such as Debian , Slackware , Gentoo and Arch Linux . Most distributions come ready-to-use and prebuilt for
5183-416: Was a replacement for the Thompson shell , whose executable file had the same name— sh . It was released in 1979 in the Version 7 Unix release distributed to colleges and universities. Although it is used as an interactive command interpreter, it was also intended as a scripting language and contains most of the features that are commonly considered to produce structured programs. It gained popularity with
5256-465: Was testing its features. Features of the Bourne shell versions since 1979 include: Duplex Multi-Environment Real-Time ( DMERT ) is a hybrid time-sharing/real-time operating system developed in the 1970s at Bell Labs Indian Hill location in Naperville, Illinois uses a 1978 snapshot of Bourne Shell "VERSION sys137 DATE 1978 Oct 12 22:39:57". The DMERT shell runs on 3B21D computers still in use in
5329-459: Was used as a basis for the POSIX shell standard. A newer version, ksh93, has been open source since 2000 and is used on some Linux distributions . A clone of ksh88 known as pdksh is the default shell in OpenBSD. Jörg Schilling 's Schily-Tools includes three Bourne Shell derivatives. Bill Joy , the author of the C shell , criticized the Bourne shell as being unfriendly for interactive use,
#40959