Differences between revisions 2 and 3
Revision 2 as of 2023-01-27 19:44:09
Size: 285
Comment:
Revision 3 as of 2023-01-29 21:41:05
Size: 1656
Comment:
Deletions are marked like this. Additions are marked like this.
Line 13: Line 13:
Variables can be explicitly declared with the `declare` [[Bash/BuiltinCommands#Declare|builtin]].

{{{
declare a=1 b=2 c=3
}}}

Variables can also be created implicitly.

{{{
a=1
b=2
c=3
}}}

For declaring array variables, see [[Bash/Array|here]].
Line 18: Line 34:

Variables are accessed by their name. A dollar sign (`$`) must be prefixed to the name.

{{{
a=foo
b=$a
}}}

To delimit a variable name from string literals, use braces. For example:

{{{
a=foo
b=${a}bar
}}}
Line 25: Line 55:
The following variables are set automatically by `bash(1)`.

||'''Variable'''||'''Value''' ||
||`$#` ||number of arguments ||
||`$@` ||all arguments as an [[Bash/Array|array]] ||
||`$*` ||all arguments as a string ||
||`$?` ||the exit code ||
||`$$` ||the PID of the shell ||
||`$!` ||the PID of the most recent background job||



=== Positional Variables ===

The name of a command is stored in `$0`.

The first argument to the command is stored in `$1`. And so on until the 9th argument, `$9`.

From the tenth argument, while arguments are stored in an indexed variable, they must be accessed differently. `$10` is interpretted like `${1}0`. To actually access the 10th argument, try `${10}`.

Bash Variables

For a list of special variables are used internally by the bash(1) shell, see here.


Declaring

Variables can be explicitly declared with the declare builtin.

declare a=1 b=2 c=3

Variables can also be created implicitly.

a=1
b=2
c=3

For declaring array variables, see here.


Usage

Variables are accessed by their name. A dollar sign ($) must be prefixed to the name.

a=foo
b=$a

To delimit a variable name from string literals, use braces. For example:

a=foo
b=${a}bar


Special Variables

The following variables are set automatically by bash(1).

Variable

Value

$#

number of arguments

$@

all arguments as an array

$*

all arguments as a string

$?

the exit code

$$

the PID of the shell

$!

the PID of the most recent background job

Positional Variables

The name of a command is stored in $0.

The first argument to the command is stored in $1. And so on until the 9th argument, $9.

From the tenth argument, while arguments are stored in an indexed variable, they must be accessed differently. $10 is interpretted like ${1}0. To actually access the 10th argument, try ${10}.


CategoryRicottone

Bash/Variables (last edited 2023-01-30 01:51:15 by DominicRicottone)