Rekenen in Bash

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken

Rekenen met variabelen in Bash - Bourne Again Shell op Linux, gaat niet zo vanzelfsprekend als verwacht:

Het probleem

Zie hier mijn afdaling in het konijnenhol, of de afgrond - Wat je het meeste aanspreekt:

$ 1+1
bash: 1+1: command not found

$ 1 + 1
bash: 1: command not found

$ echo 1+1
1+1

$ echo (1+1)
bash: syntax error near unexpected token `1+1'

$ echo $(1+1)
bash: 1+1: command not found

$ echo $(1 + 1)
bash: 1: command not found

$(1+1)
bash: 1+1: command not found

$ expr 1+1
1+1

Sommetje + echo

Zie deze post voor diverse mogelijkheden. Het gaat mij hier om het retourneren van de uitkomst van een bewerking via echo. Dat is van invloed op de mogelijkheden. Wat basically lijkt te werken:

echo $((1+1))
2

echo `expr 1 + 1`
2

De eerste formulering met behulp van parenthesis command substitution is waarschijnlijk te prefereren: Command substitution (Bash).

Zie ook

Bronnen