## B.2. Built-in Commands and Keywords

Here is a summary of all built-in commands and keywords.

Name | Command/keyword | Chapter | Summary
--- | --- | --- | ---
`!` | Keyword | 5 | Invert the true/false result of the following pipeline.
`:` | Command | 7 | Do nothing (just do expansions of arguments).
`.` | Command | 4 | Read file and execute its contents in current shell.
alias | Command | 3 | Set up shorthand for command or command line.
bg | Command | 8 | Put job in background.
builtin | Command |  | Add or remove built-in commands; print information about them.
break | Command | 5 | Exit from surrounding `for`, `select`, `while`, or `until` loop.
`case` | Keyword | 5 | Multiway conditional construct.
cd | Command | 1 | Change working directory.
command | Command | 5 | Locate built-in and external commands; find a built-in command instead of an identically named function.
continue | Command | 4 | Skip to next iteration of `for`, `select`, `while`, or `until` loop.
disown | Command | 8 | Disassociate a background job from the current shell. The effect is that the job is not sent the HUP signal when the shell exits.
echo | Command | 4 | Expand and print arguments (obsolete).
exec | Command | 9 | Replace shell with given program.
exit | Command | 5 | Exit from shell.
export | Command | 3 | Create environment variables.
eval | Command | 7 | Process arguments as a command line.
false | Command | 8 | Do nothing and exit unsuccessfully. Useful for making infinite loops.
fg | Command | 8 | Put background job in foreground.
`for` | Keyword | 5 | Looping construct.
`function` | Keyword | 4 | Define function.
getconf | Command |  | Get system-specific information. The parameters are defined by POSIX.
getopts | Command | 6 | Process command-line options.
hist | Command | 2 | Work with command history.
`if` | Keyword | 5 | Conditional construct.
jobs | Command | 1 | List background jobs.
kill | Command | 8 | Send signal to process.
let | Command | 6 | Arithmetic variable assignment.
newgrp | Command |  | Start new shell with new group ID (obsolete).
print | Command | 1 | Expand and print arguments on standard output.
printf | Command | 7 | Expand and print arguments on standard output, using ANSI C printf(3) format specifiers.
pwd | Command | 1 | Print working directory.
read | Command | 7 | Read a line from standard input.
readonly | Command | 6 | Make variables read-only (unassignable).
return | Command | 5 | Return from surrounding function or script.
`select` | Keyword | 5 | Menu generation construct.
set | Command | 3 | Set options.
shift | Command | 6 | Shift command-line arguments.
sleep | Command | 8 | Suspend execution for the given number of seconds.
test | Command | 5 | Old version of conditional test program. Use `[[`...`]]` instead.
`time` | Keyword |  | Run command and print execution times. By itself, prints cumulative times for the shell and all children.
trap | Command | 8 | Set up signal-catching routine.
true | Command | 8 | Do nothing and exit successfully. Useful for making infinite loops.
typeset | Command | 6 | Set special characteristics of variables and functions.
ulimit | Command | 10 | Set/show process resource limits.
umask | Command | 10 | Set/show file permission mask.
unalias | Command | 3 | Remove alias definitions.
unset | Command | 3 | Remove definitions of variables or functions.
`until` | Keyword | 5 | Looping construct.
wait | Command | 8 | Wait for background job(s) to finish.
whence | Command | 3 | Identify source of command.
`while` | Keyword | 5 | Looping construct.

Assignments for the alias, export, readonly, and typeset commands are processed like variable assignments, in that tilde expansion is done after the `=` character, and field splitting is not done on any variable substitutions in the value being assigned.

Copyright © 2003 O'Reilly & Associates. All rights reserved.