The shell has a number of commands that are built-in. This means that the shell itself executes the command, instead of running an external program in a separate process. Furthermore, POSIX distinguishes between "special" built-ins and "regular" built-ins. The built-in commands are listed in Table 7-9. Special built-ins are marked with a †. Most of the regular built-ins listed here have to be built-in for the shell to function correctly (e.g., read). Others are typically built into the shell only for efficiency (e.g., true and false). The standard allows other commands to be built-in for efficiency as well, but all regular built-ins must be accessible as separate programs that can be executed directly by other binary programs. test is a primary example of a command that often is built into the shell for efficiency reasons.
Table 7-9. POSIX shell built-in commands
Do nothing (just do expansions of arguments).
Read file and execute its contents in current shell.
Set up shorthand for command or command line (interactive use).
Put job in background (interactive use).
Exit from surrounding
Change working directory.
Locate built-in and external commands; find a built-in command instead of an identically named function.
Skip to next iteration of
Process arguments as a command line.
Replace shell with given program or ...