Difference between revisions of "Bash:Variables"

From wiki
Jump to: navigation, search
 
Line 1: Line 1:
 
[[Category:Bash]]
 
[[Category:Bash]]
 +
[[Category:Linux/Unix]]
  
 
=Arithmetics=
 
=Arithmetics=
Line 40: Line 41:
 
=Nested variables=
 
=Nested variables=
 
;var2=${!var1}
 
;var2=${!var1}
:var2 will get the value of the evaluation of var1
+
:var2 will get the value of the evaluation of var1 (value of var0)
 
<syntaxhighlight lang=bash>
 
<syntaxhighlight lang=bash>
 
var0=1
 
var0=1

Latest revision as of 10:05, 12 June 2019


Arithmetics

Bash and ksh only work with integers.

+, -, *, /, %
add, substract, multiply, divide, modulo.
**
For bash, Exponentiation
10#00012
For bash, force the figure (00012) to be interpreted as decimal. Figures starting with 0 are considered octal by default.
expr <expr>
Voer expr uit, bij boolean wordt 1 (onwaar) of 0 (waar) gegeven
((VAR=x+y))
let VAR=x+y
VAR=$((x+y))
VAR=$(expr x + y)
Calculate and assign to VAR
let VAR+=2
Add two to VAR

Special Parameters

$0
Name current procedure
$1
First passed argument ($2 is the second, $3... )
$*
All arguments given as one string
$@
All arguments given as separate strings per parameter
$#
The number of passed arguments
$?
The returnstate for the last executed command. 0 = OK, all others not.
$$
ProcessID of current process, handy to use for temporary files
$!
ProcessID of last spawned process.

Nested variables

var2=${!var1}
var2 will get the value of the evaluation of var1 (value of var0)
var0=1
var1=var0
var2=${!var1}
echo $var2
1

Loop over a range

for i in {00..59}
 do
  echo ${i}
 done
 
for i in $(seq ${START} ${END})
 do
  echo $i
 done