Bash Builtin Commands
The set of portable commands.
Commands
Command |
Description |
Example |
. |
Alias for source |
|
: |
No-op |
|
alias |
Creates an alias |
|
bind |
|
|
builtin |
Executes a builtin command |
|
caller |
|
|
cd |
Changes the current working directory |
|
command |
Executes a command |
|
declare |
Set a variable, optionally with a value |
|
dirs |
|
|
disown |
|
|
echo |
|
|
enable |
|
|
eval |
Executes a command |
|
exec |
Replaces the shell with a command |
|
exit |
Causes a script or shell to exit immediately |
|
export |
Marks one or more names as variables to be included in the environment of subsequently-called commands |
export varname="some value" |
fc |
|
|
getopts |
|
|
hash |
|
|
help |
Prints helpful information about a builtin command |
|
history |
|
|
kill |
|
|
let |
|
|
local |
Only valid within a function definition; see here |
|
logout |
Exits a login shell immediately |
|
mapfile |
|
|
popd |
|
|
printf |
|
|
pushd |
|
|
pwd |
Prints the current working directory |
|
read |
|
|
readarray |
|
|
readonly |
|
|
set |
Sets a shell option |
|
shift |
Renames the positional variables |
|
shopt |
Sets a shell option |
|
source |
|
|
test |
Executes a test |
|
time |
|
|
trap |
Creates a trap |
|
typeset |
|
|
unalias |
Removes an alias |
|
unset |
Unsets a shell option |
|
wait |
|
|
Builtin
builtin can be useful to call a builtin command when there is a custom command with the same name.
Cd
Calling cd without an argument is the same as cd ~.
cd - changes the current working directory to the previous working directory.
Command
command can be useful to call a command when there is a function with the same name.
command is also commonly used to determine if a command is locally available.
if ! command -v mypy >/dev/null 2>&1; then echo "cannot locate mypy; is it installed?" exit fi
Declare
When used within a function definition, the variable is set to local scope.
To create a variable that is marked for export, use:
declare -x myvar
To create a variable that is marked for tracing, use:
declare -t myvar
To create a read-only constant, use:
declare -r myconst
To create an integer variable, use:
declare -i myinteger
To create an array, use:
declare -a myarray
To create an associative array, use:
declare -A myarray
With some exceptions, these options can be combined. Additionally, options can be explicitly disabled by substituting the dash (-) with a plus sign (+).
Reserved Keywords
Some parts of the language are technically implemented as a command.
See here for break and continue.
See here for return.
See here for bg, coproc, fg, and jobs.
Lastly, note that compgen, complete, and compopt all have to do with Bash completion.
