Differences between revisions 1 and 21 (spanning 20 versions)
Revision 1 as of 2023-01-25 20:20:55
Size: 1722
Comment:
Revision 21 as of 2025-12-19 20:07:48
Size: 4053
Comment: Reorg
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 [[Bash/Trap|here]]|| ||
||`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/Completion|here]] for `compgen`, `complete, and `compopt`.

See [[Bash/JobControl|here]] for `bg`, `coproc`, `fg`, and `jobs`.
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 here

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 compgen, complete, and compopt`.

See here for bg, coproc, fg, and jobs.


CategoryRicottone

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