P004 UNIX

Obsah
Předchozí: Shell - Funkce v shellu (2)
Aritmetické expanze

$((výraz))

Alternativním způsobem zápisu v některých shellech (např. bash) je:

$[výraz]

Výraz se interpretuje podle těchto pravidel:

  1. výraz se interpretuje tak, jako by byl uzavřen do uvozovek (uvozovky uvnitř výrazu nemají řídicí význam),
  2. ve výrazu se expandují parametry ($...) a substituce příkazů (`...`),
  3. příkaz se vyčíslí.
Výraz se vyčísluje v aritmetice long integer bez kontroly přetečení.

Jako příklad si uveďme skript, který spočítá počet podadresářů v běžném adresáři:

#!/bin/sh
POM=0
for JMENO in *
  do
    if [ -d $JMENO ]; then
      POM=$(($POM+1))
    fi
done
echo V adresari `pwd` je $POM podadresaru.
Následující: Shell - Aritmetické expanze (2)
Obsah

Michal Brandejs brandejs@informatics.muni.cz