Arithmetic expansion

Med arithmetic expansion kan vi utföra matematik med heltal i våra script och få det returnerat till en variabel. Likvärdigt med command substitution kan vi använda $(( )) för att få det uträknade värdet. Om vi enbart använder parenteserna, (( )), utförs bara uträkningen. Vi tittar på skillnaden.

#Dubbla parenteser

Först tar vi enbart evaluation:

#!/usr/bin/env bash
#
# An example of arithmetic evaluation

value=4
(( value+=1 ))

echo "$value" # Prints 5

Sedan tittar vi på expansion:

#!/usr/bin/env bash
#
# An example of arithmetic expansion

value=4
result=$(( value+=1 ))

echo "$result" # Prints 5

#Det inbyggda kommandot let

Det inbyggda kommandot let låter oss använda matematiska formler på variabler. Det gör likt (()) enbart själva uträkningen, en arithmetic evaluation.

#!/usr/bin/env bash
#
# An example script for the linux course

# With the keyword "let"
value1=5
value2=10
let value3=$value1+$value2

echo "$value3" # Prints 15

#Revision history

  • 2019-03-08: (A, lew) Första versionen.

Document source.