Android

Comment incrémenter et décrémenter une variable dans bash (compteur)

Chronometer / Stopwatch with Start, Pause, Resume, Reset - Android Studio Tutorial

Chronometer / Stopwatch with Start, Pause, Resume, Reset - Android Studio Tutorial

Table des matières:

Anonim

L'une des opérations arithmétiques les plus courantes lors de l'écriture de scripts Bash consiste à incrémenter et décrémenter des variables. Ceci est le plus souvent utilisé dans les boucles comme compteur, mais il peut également se produire ailleurs dans le script.

Incrémenter et décrémenter signifie ajouter ou soustraire une valeur (généralement 1 ), respectivement, de la valeur d'une variable numérique. L'expansion arithmétique peut être effectuée en utilisant les doubles parenthèses ((…)) et $((…)) ou avec la commande intégrée let .

Dans Bash, il existe plusieurs façons d'incrémenter / décrémenter une variable. Cet article explique certains d'entre eux.

Utilisation des opérateurs + et -

La manière la plus simple d'incrémenter / décrémenter une variable consiste à utiliser les opérateurs + et - .

i=$((i+1)) ((i=i+1)) let "i=i+1"

i=$((i-1)) ((i=i-1)) let "i=i-1"

Cette méthode vous permet d'incrémenter / décrémenter la variable de n'importe quelle valeur souhaitée.

Voici un exemple d'incrémentation d'une variable dans une boucle until :

i=0 until do echo i: $i ((i=i+1)) done

i: 0 i: 1 i: 2 i: 3

Les opérateurs += et -=

En plus des opérateurs de base expliqués ci-dessus, bash fournit également les opérateurs d'affectation += et -= . Ces opérateurs sont utilisés pour incrémenter / décrémenter la valeur de l'opérande gauche avec la valeur spécifiée après l'opérateur.

((i+=1)) let "i+=1"

((i-=1)) let "i-=1"

Dans la boucle while suivante, nous décrémentons la valeur de la variable i de 5 .

i=20 while do echo Number: $i let "i-=5" done

Number: 20 Number: 15 Number: 10 Number: 5

Utilisation des opérateurs ++ et --

Les opérateurs ++ et -- incrémentent et décrémentent, respectivement, son opérande de 1 et renvoient la valeur.

((i++)) ((++i)) let "i++" let "++i"

((i--)) ((--i)) let "i--" let "--i"

Les opérateurs peuvent être utilisés avant ou après l'opérande. Ils sont également connus sous le nom de:

  • incrément de préfixe: ++i décrément de préfixe: --i incrément de suffixe: i++ décrément de postfix: i--

Les opérateurs de préfixe incrémentent / décrémentent d'abord les opérateurs de 1 , puis renvoient la nouvelle valeur des opérateurs. D'un autre côté, les opérateurs postfixes renvoient la valeur des opérateurs avant qu'elle ne soit incrémentée / décrémentée.

Les exemples suivants montrent comment l'opérateur ++ fonctionne lorsqu'il est utilisé avant et après son opérant:

x=5 y=$((x++)) echo x: $x echo y: $y

x: 6 y: 5

x=5 y=$((++x)) echo x: $x echo y: $y

x: 6 y: 6

Voici un exemple d'utilisation de l'incrémenteur postfix dans un script bash:

#!/bin/bash i=0 while true; do if]; then exit 1 fi echo i: $i ((i++)) done

L'inconvénient de l'utilisation de ces opérateurs est que la variable ne peut être incrémentée ou décrémentée que de 1 .

Conclusion

L'incrémentation et la décrémentation des variables dans Bash peuvent être effectuées de différentes manières. Quelle que soit la méthode que vous utilisez, le résultat est le même.

Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.

terminal de boucle bash