Shell builtin
Encyclopedia
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 builtins work significantly faster than external programs, because there is no program loading overhead. However, their code is inherently present in the shell, and thus modifying or updating them requires modifications to the shell. Therefore shell builtins are usually used for simple, almost trivial, functions, such as text output.
Because of the nature of some operating system
s, some functions of the systems must necessarily be implemented as shell builtins. The most notable example is the
of the shell. Because each executable program runs in a separate process
, and working directories are specific to each process, loading
Some examples from bash include
Command (computing)
In computing, a command is a directive to a computer program acting as an interpreter of some kind, in order to perform a specific task. Most commonly a command is a directive to some kind of command line interface, such as a shell....
or a function
Subroutine
In computer science, a subroutine is a portion of code within a larger program that performs a specific task and is relatively independent of the remaining code....
, called from a shell
Shell (computing)
A shell is a piece of software that provides an interface for users of an operating system which provides access to the services of a kernel. However, the term is also applied very loosely to applications and may include any software that is "built around" a particular component, such as web...
, that is executed directly in the shell itself, instead of an external executable program
Computer program
A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...
which the shell would load and execute.
Shell builtins work significantly faster than external programs, because there is no program loading overhead. However, their code is inherently present in the shell, and thus modifying or updating them requires modifications to the shell. Therefore shell builtins are usually used for simple, almost trivial, functions, such as text output.
Because of the nature of some 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...
s, some functions of the systems must necessarily be implemented as shell builtins. The most notable example is the
cd
command, which changes the working directoryWorking directory
In computing, the working directory of a process is a directory of a hierarchical file system, if any, dynamically associated with each process. When the process refers to a file using a simple file name or relative path , the reference is interpreted relative to the current working directory of...
of the shell. Because each executable program runs in a separate process
Process (computing)
In computing, a process is an instance of a computer program that is being executed. It contains the program code and its current activity. Depending on the operating system , a process may be made up of multiple threads of execution that execute instructions concurrently.A computer program is a...
, and working directories are specific to each process, loading
cd
as an external program would not affect the working directory of the shell that loaded it.Examples
A widely used shell-builtin is thelogout
function, which terminates the session. This function has different names depending on the shell.Some examples from bash include
cd
, echo
, and history
. The help
bash-builtin command will list all builtins.