Svetlana Velmar-Janković
In computing, a shell builtin is a command or a function, exposed by a shell, that is implemented in the shell itself, instead of an external program which the shell would load and execute.[1][2][3][4]
A shell builtin starts faster than an external program because there is no program loading overhead. However, its implementation code is in the shell program, and thus modifying it requires modifying the shell. Therefore, a shell builtin is usually only used for simple, almost trivial, commands, such as text output.
Some commands must be implemented as builtins due to the nature of the operating system.
Notably, the cd
command, which changes the working directory of the shell is often a builtin since a program runs in a separate process and working directory is specific to each process. Running cd
as an external program would not affect the working directory of the shell that loaded it.[5]
See also
- BusyBox – Collection of Unix tools in single executable file
- Internal DOS command
References
- ^ POSIX standard: Shell Commands
- ^ Tansley, David (2000). "24. Shell built-in commands". Linux and Unix shell programming. Harlow: Addison-Wesley. ISBN 9780201674729.
- ^ Sobell, Mark G. (2003). "Built-ins". A Practical Guide to Red Hat Linux 8. pp. 161–162.
- ^ Albing, Carl; Vossen, JP; Newham, Cameron. "1.7. Using or Replacing Built-ins and External Commands". Bash Cookbook. O'Reilly Media. pp. 13–15. ISBN 9780596554705.
- ^ Kuhn, Darl; Kim, Charles; Lopuz, Bernard (2015). Linux and Solaris Recipes for Oracle DBAs (2nd ed.). Berkeley, CA: Apress. p. 47. ISBN 9781484212547.
External links