= Bash Builtin Commands = <> ---- == . == Alias for `source`. ---- == : == Does nothing; arguments passed to it are expanded but immediately discarded. ---- == Alias == See [[Bash/Alias|here]]. ---- == Bg == See [[Bash/JobControl|here]]. ---- == Bind == ---- == Break == See [[Bash/Looping|here]]. ---- == Builtin == Execute a builtin command. This is only useful when reimplementing a builtin but still need to call the original builtin within the function. ---- == Caller == ---- == Cd == Change the current working directory to a new path. Can be a relative or absolute path, as well as the special `.` and `..` directories. Note the rules for [[Bash/Expansion#Tilde_Expansion|tilde expansion]] when using the `~` symbol here. `cd -` changes the current working directory to the previous working directory. There is also special behavior around specifying ''nothing''. `cd` is the same as `cd ~`. ---- == Command == Execute a command. This can be useful to call a command when there is a function with the same name. It can also be 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 }}} ---- == CompGen == See [[Bash/Completion|here]]. ---- == Complete == See [[Bash/Completion|here]]. ---- == CompOpt == See [[Bash/Completion|here]]. ---- == Continue == See [[Bash/Looping|here]]. ---- == Coproc == See [[Bash/JobControl|here]]. ---- == Declare == Set a variable, optionally with a value. {{{ declare a=1 b=2 c=3 }}} When used within a function definition, the variable is set to [[Bash/Function#Local_Scope|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 [[Bash/Array|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 (`+`). ---- == Dirs == ---- == Disown == ---- == Echo == ---- == Enable == ---- == Eval == Executes a command. This is useful when building commands through [[Bash/Expansion#Parameter_Expansion|parameter expansion]]. ---- == Exec == Replaces the shell with the specified command. This is useful in scripts that dispatch to other commands, like `demenu(1)`. ---- == Exit == Causes a script or shell to exit immediately with a specified exit code. If used in an interactive shell, or when used in a script that is `source`d, causes the shell session to exit. That is likely not desireable; see [[#Return|return]] instead. ---- == Export == Marks one or more names as variables to be included in the environment of subsequently-called commands. To set a variable and mark it simultaneously, try: {{{ export varname="some value" }}} To instead export a function, use `export -f funcname` ---- == Fc == ---- == Fg == See [[Bash/JobControl|here]]. ---- == GetOpts == ---- == Hash == ---- == Help == Prints helpful information about a builtin command. {{{ help help }}} ---- == History == ---- == Jobs == See [[Bash/JobControl|here]]. ---- == Kill == ---- == Let == See [[Bash/Arithmetic|here]]. ---- == Local == Only valid within a function definition. See [[Bash/Function#Local_Scope|here]]. ---- == LogOut == Exit a login shell immediately. ---- == MapFile == ---- == PopD == ---- == PrintF == ---- == PushD == ---- == Pwd == Prints the current working directory. ---- == Read == ---- == ReadArray == ---- == ReadOnly == ---- == Return == Only valid within a function definition. See [[Bash/Function#Error_and_Return_Codes|here]]. ---- == Set == See [[Bash/ShellOptions|here]]. ---- == Shift == Renames the [[Bash/Variables#Positional_Variables|special positional variables]]. If `shift` is called with no argument, `$2` is renamed to `$1`, `$3` is renamed to `$2`, and so on. `shift N` causes `$N+1` to be renamed to `$N`, `$N+2` to be renamed to `$N+1`, and so on. ---- == ShOpt == See [[Bash/ShellOptions|here]]. ---- == Source == ---- == Test == Aliased to `[`. See [[Bash/Test|here]]. ---- == Time == ---- == Trap == See [[Bash/Trap|here]]. ---- == TypeSet == ---- == UnAlias == See [[Bash/Alias|here]]. ---- == UnSet == See [[Bash/ShellOptions|here]]. ---- == Wait == ---- CategoryRicottone