Bash Builtin Commands
Contents
-
Bash Builtin Commands
- .
- :
- Alias
- Bg
- Bind
- Break
- Builtin
- Caller
- Cd
- Command
- CompGen
- Complete
- CompOpt
- Continue
- Coproc
- 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
- Shift
- ShOpt
- Source
- Test
- Time
- Trap
- TypeSet
- UnAlias
- UnSet
- Wait
.
Alias for source.
:
Does nothing; arguments passed to it are expanded but immediately discarded.
Alias
See here.
Bg
See here.
Bind
Break
See 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 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 here.
Complete
See here.
CompOpt
See here.
Continue
See here.
Coproc
See 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 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 (+).
Dirs
Disown
Echo
Enable
Eval
Executes a command. This is useful when building commands through 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 sourced, causes the shell session to exit. That is likely not desireable; see 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 here.
GetOpts
Hash
Help
Prints helpful information about a builtin command.
help help
History
Jobs
See here.
Kill
Let
See here.
Local
Only valid within a function definition. See 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 here.
Set
See here.
Shift
Renames the 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 here.
Source
Test
Aliased to [.
See here.
Time
Trap
See here.
TypeSet
UnAlias
See here.
UnSet
See here.