Differences between revisions 1 and 10 (spanning 9 versions)
Revision 1 as of 2023-01-25 20:20:55
Size: 1722
Comment:
Revision 10 as of 2023-01-25 21:43:45
Size: 3956
Comment:
Deletions are marked like this. Additions are marked like this.
Line 39: Line 39:
See [[Bash/Looping|here]].
Line 45: Line 47:
Execute a builtin command. This is only useful when reimplementing a builtin but still need to call the original builtin within the function.
Line 57: Line 61:
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 ~`.
Line 63: Line 75:
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
}}}
Line 69: Line 90:
See [[Bash/Completion|here]].
Line 75: Line 98:
See [[Bash/Completion|here]].
Line 81: Line 106:
See [[Bash/Completion|here]].
Line 87: Line 114:
See [[Bash/Looping|here]].
Line 135: Line 164:
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.
Line 141: Line 174:
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`
Line 171: Line 214:
Prints helpful information about a builtin command.

{{{
help help
}}}
Line 201: Line 250:
Only valid within a function definition. See [[Bash/Function#Local_Scope|here]].
Line 207: Line 258:
Exit a login shell immediately.
Line 237: Line 290:
Prints the current working directory.
Line 261: Line 316:
Only valid within a function definition. See [[Bash/Function#Error_and_Return_Codes|here]].
Line 275: Line 332:
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.
Line 325: Line 388:
See [[Bash/Alias|here]].
Line 331: Line 396:
See [[Bash/ShellOptions|here]].
Line 336: Line 403:



----
CategoryRicottone

Builtin Commands


:

Does nothing; arguments passed to it are expanded but immediately discarded.


Alias

See here.


Bg


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.


Declare


Dirs


Disown


Echo


Enable


Eval


Exec


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


GetOpts


Hash


Help

Prints helpful information about a builtin command.

help help


History


Jobs


Kill


Let


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

Aliased to ..


Test

Aliased to [.

See here.


Time


Trap


TypeSet


UnAlias

See here.


UnSet

See here.


Wait


CategoryRicottone

Bash/BuiltinCommands (last edited 2023-01-30 01:04:28 by DominicRicottone)