HOME

TheInfoList




A Unix shell is a command-line interpreter or
shell Shell may refer to: Architecture and design * Shell (structure)A shell is a type of structural element which is characterized by its geometry, being a three-dimensional solid whose thickness is very small when compared with other dimensions, and ...
that provides a command line
user interface In the industrial design Industrial design is a process of design A design is a plan or specification for the construction of an object or system or for the implementation of an activity or process, or the result of that plan or specificati ...
for
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system An operating system (OS) is system software that manages computer hardware, computer software, software resources, and provides common daemon (computing), services for compu ...
operating system An operating system (OS) is system software System software is software designed to provide a platform for other software. Examples of system software include operating systems (OS) like macOS, Linux, Android (operating system), Android and Mi ...

operating system
s. The shell is both an interactive
command language A command language is a language for job control in computing. It is a domain-specific and interpreted language; common examples of a command language are shell Shell may refer to: Architecture and design * Shell (structure)A shell is a type ...
and a
scripting language A scripting language or script language is a programming language A programming language is a formal language comprising a Instruction set architecture, set of instructions that produce various kinds of Input/output, output. Programming language ...
, and is used by the operating system to control the execution of the system using
shell script A shell script is a computer program designed to be run by the Unix shell, a command-line interpreter. The various dialects of shell scripts are considered to be scripting languages. Typical operations performed by shell scripts include file mani ...
s. Users typically interact with a Unix shell using a
terminal emulator A terminal emulator, terminal application, or term, is a computer program A computer program is a collection of instructions that can be executed by a computer to perform a specific task. A computer program is usually written by a compute ...
; however, direct operation via serial hardware connections or
Secure Shell Secure Shell (SSH) is a cryptographic Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or '' -logia'', "study", respectively), is the practice and study of techniques for se ...
are common for server systems. All Unix shells provide filename wildcarding,
piping Within industry, piping is a system of pipes PIPES is the common name for piperazine-N,N′-bis(2-ethanesulfonic acid), and is a frequently used buffering agent in biochemistry. It is an ethanesulfonic acid buffer developed by Good et al. in t ...
,
here document In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithm of an algorithm (Euclid's algorithm) for calculating the greatest common ...
s,
command substitutionIn computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and software. ...
, variables and
control structures In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application. Computer science is the study of Algor ...
for condition-testing and
iteration Iteration is the repetition of a process in order to generate a (possibly unbounded) sequence of outcomes. Each repetition of the process is a single iteration, and the outcome of each iteration is then the starting point of the next iteration. ...
.


Concept

The most generic sense of the term ''shell'' means any program that users employ to type commands. A shell hides the details of the underlying operating system and manages the technical details of the operating system's
application programming interface In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and so ...
, which is the level of the operating system that programs running on that operating system use. In Unix-like operating systems, users typically have many choices of command-line interpreters for interactive sessions. When a user
logs into
logs into
the system interactively, a shell program is automatically executed for the duration of the session. The type of shell, which may be customized for each user, is typically stored in the user's profile, for example in the local file or in a distributed configuration system such as NIS or
LDAP The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed Directory service, directory information services over an Internet Protocol (IP) network. ...
; however, the user may execute any other available shell interactively. On hosts with a windowing system, like
macOS macOS (; previously Mac OS X and later OS X) is a proprietary {{Short pages monitor