Differences between revisions 1 and 24 (spanning 23 versions)
Revision 1 as of 2023-01-25 20:20:55
Size: 1722
Comment:
Revision 24 as of 2025-12-19 20:18:05
Size: 4399
Comment: Cleanup
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Builtin Commands = = Bash Builtin Commands =

The set of portable commands.
Line 9: Line 11:
== : == == Commands ==
Line 11: Line 13:
Does nothing; arguments passed to it are expanded but immediately discarded. ||'''Command''' ||'''Description'''||'''Example'''||
||`.` ||Alias for `source`|| ||
||`:` ||No-op || ||
||`alias` ||Creates an [[Bash/Alias|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 [[Bash/Function#Local_Scope|here]]|| ||
||`logout` ||Exits a login shell immediately|| ||
||`mapfile` || || ||
||`popd` || || ||
||`printf` || || ||
||`pushd` || || ||
||`pwd` ||Prints the current working directory|| ||
||`read` || || ||
||`readarray` || || ||
||`readonly` || || ||
||`set` ||Sets a [[Bash/ShellOptions|shell option]]|| ||
||`shift` ||Renames the [[Bash/Variables#Positional_Variables|positional variables]]|| ||
||`shopt` ||Sets a [[Bash/ShellOptions|shell option]]|| ||
||`source` || || ||
||`test` ||Executes a [[Bash/Test|test]]|| ||
||`time` || || ||
||`trap` ||Creates a trap || ||
||`typeset` || || ||
||`unalias` ||Removes an [[Bash/Alias|alias]]|| ||
||`unset` ||Unsets a [[Bash/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
}}}



=== Declare ===

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 (`+`).
Line 17: Line 137:
== Alias == == Reserved Keywords ==
Line 19: Line 139:
See [[Bash/Alias|here]]. Some parts of the language are technically implemented as a command.
Line 21: Line 141:
---- See [[Bash/Looping|here]] for `break` and `continue`.

See [[Bash/Function#Error_and_Return_Codes|here]] for `return`.

See [[Bash/JobControl|here]] for `bg`, `coproc`, `fg`, and `jobs`.

Lastly, note that `compgen`, `complete`, and `compopt` all have to do with Bash completion.
Line 25: Line 151:
== Bg ==
Line 28: Line 152:



== Bind ==

----



== Break ==

----



== Builtin ==

----



== Caller ==

----



== Cd ==

----



== Command ==

----



== CompGen ==

----



== Complete ==

----



== CompOpt ==

----



== Continue ==

----



== Declare ==

----



== Dirs ==

----



== Disown ==

----



== Echo ==

----



== Enable ==

----



== Eval ==

----



== Exec ==

----



== Exit ==

----



== Export ==

----



== Fc ==

----



== Fg ==

----



== GetOpts ==

----



== Hash ==

----



== Help ==

----



== History ==

----



== Jobs ==

----



== Kill ==

----



== Let ==

----



== Local ==

----



== LogOut ==

----



== MapFile ==

----



== PopD ==

----



== PrintF ==

----



== PushD ==

----



== Pwd ==

----



== Read ==

----



== ReadArray ==

----



== ReadOnly ==

----



== Return ==

----



== Set ==

See [[Bash/ShellOptions|here]].

----



== Shift ==

----



== ShOpt ==

See [[Bash/ShellOptions|here]].

----



== Source ==

Aliased to `.`.

----



== Test ==

Aliased to `[`.

See [[Bash/Test|here]].

----



== Time ==

----



== Trap ==

----



== TypeSet ==

----



== UnAlias ==

----



== UnSet ==

----



== Wait ==
CategoryRicottone

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.


CategoryRicottone

Bash/BuiltinCommands (last edited 2025-12-19 20:18:05 by DominicRicottone)