= Shell Builtin Commands = The set of portable commands. <> ---- == Commands == ||'''Command''' ||'''Description'''||'''Example'''|| ||`.` || || || ||`:` ||No-op || || ||`alias` ||Creates an [[Shell/Alias|alias]]|| || ||`bind` || || || ||`builtin` ||Executes a builtin command|| || ||`cd` ||Changes the current working directory|| || ||`command` ||Executes a command|| || ||`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` || || || ||`logout` ||Exits a login shell immediately|| || ||`mapfile` || || || ||`popd` || || || ||`printf` || || || ||`pushd` || || || ||`pwd` ||Prints the current working directory|| || ||`read` || || || ||`readarray` || || || ||`readonly` || || || ||`set` ||Sets a [[Shell/ShellOptions|shell option]]|| || ||`shift` ||Renames the [[Shell/Variables#Positional_Variables|positional variables]]|| || ||`test` ||Executes a [[Shell/Test|test]]|| || ||`time` || || || ||`trap` ||Creates a trap || || ||`typeset` || || || ||`unalias` ||Removes an [[Shell/Alias|alias]]|| || ||`unset` ||Unsets a [[Shell/ShellOptions|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 }}} ---- == Reserved Keywords == Some parts of the language are technically implemented as a command. See [[Shell/Looping|here]] for `break` and `continue`. See [[Shell/Function#Error_and_Return_Codes|here]] for `return`. See [[Shell/JobControl|here]] for `bg`, `fg`, and `jobs`. ---- CategoryRicottone