Comment effectuer une opération d'augmentation et de diminution en Bash

Suraj Joshi 30 janvier 2023
  1. Incrémentation et décrémentation avec les opérateurs + et -
  2. Incrémentation et décrémentation avec les opérateurs += et -=
  3. Incrémentation et décrémentation avec les opérateurs ++ et --
Comment effectuer une opération d'augmentation et de diminution en Bash

Les opérations d’incrémentation et de décrémentation sont l’une des opérations les plus utilisées dans tous les langages de programmation. Elles sont surtout utilisées comme compteurs dans les boucles. Pour effectuer l’incrémentation et la décrémentation de variables en Bash, on peut utiliser les opérateurs + et - ou les opérateurs += et -=. Nous pouvons également effectuer l’incrémentation et la décrémentation en Bash en utilisant des opérateurs unaires: ++ et --.

Incrémentation et décrémentation avec les opérateurs + et -

C’est la façon la plus simple d’effectuer des opérations d’augmentation et de diminution. Nous effectuons l’opération en enfermant les expressions dans des ((..)) ou des $((...)) ou en utilisant la commande let intégrée.

x=3
y=3
z=3
x=$((x+1))
((y=y+1))
let "z=z+1"
echo x: $x
echo y: $y
echo z: $z

Production:

x: 4
y: 4
z: 4

Nous pouvons voir que nous pouvons effectuer la même opération d’incrémentation en utilisant + de trois manières différentes.

Nous pouvons également effectuer de la même manière l’opération de décrémentation.

x=3
y=3
z=3
x=$((x-1))
((y=y-1))
let "z=z-1"
echo x: $x
echo y: $y
echo z: $z

Production:

x: 2
y: 2
z: 2

Il effectue l’opération de décrémentation en utilisant l’opérateur - de 3 manières différentes.

Incrémentation et décrémentation avec les opérateurs += et -=

Les opérateurs += et -= augmentent ou diminuent la valeur du côté gauche de l’opérateur de la valeur du côté droit de l’opérateur.

x+=y est équivalent à x=x+y et x-=y est équivalent à x=x-y.

x=3
y=3
((x+=1))
let "y-=1"
echo x: $x
echo y: $y

Production:

x: 4
y: 2

Ici, au début, les valeurs de x et y sont toutes deux 3. Après l’opération d’incrémentation sur x, sa valeur devient 4. De même, après l’opération de décrémentation sur y, la valeur de y devient 2.

Nous pouvons également implémenter l’incrémentation ou la décrémentation dans une boucle.

x=1

while [ $x -le 5 ]
do
  echo x: $x
  let "x+=1" 
done

Production:

x: 1
x: 2
x: 3
x: 4
x: 5

Il incrémente la valeur de x tant que la valeur de x est inférieure ou égale à 5.

Incrémentation et décrémentation avec les opérateurs ++ et --

Les opérateurs ++ et -- sont unaires, augmentant ou diminuant la valeur de l’opérande de 1.

L’opérateur x++ est équivalent à x=x+1 et l’opérateur x-- est équivalent à x=x-1.

x=3
y=3
((x++))
let "y--"
echo x: $x
echo y: $y

Production:

x: 4
y: 2

Ici, au début, les valeurs de x et y sont toutes deux égales à 3. Après l’opération d’incrémentation sur x, sa valeur devient 4. De même, après l’opération de décrémentation sur y, la valeur de y devient 2.

Nous pouvons aussi implémenter les opérateurs ++ et -- à l’intérieur d’une boucle.

x=5

while [ $x -ge 1 ]
do
  echo x: $x
  let "x--" 
done

Production:

x: 5
x: 4
x: 3
x: 2
x: 1

Il décrémente la valeur de x tant que la valeur de x est supérieure ou égale à 1.

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn