Android

Inkrementieren und Dekrementieren von Variablen in Bash (Zähler)

Java Tutorial German Teil 9 - Inkrementieren und Dekrementieren

Java Tutorial German Teil 9 - Inkrementieren und Dekrementieren

Inhaltsverzeichnis:

Anonim

Eine der häufigsten Rechenoperationen beim Schreiben von Bash-Skripten ist das Inkrementieren und Dekrementieren von Variablen. Dies wird am häufigsten in Schleifen als Zähler verwendet, kann aber auch an anderer Stelle im Skript vorkommen.

Inkrementieren und Dekrementieren bedeutet, dass ein Wert (normalerweise 1 ) zum Wert einer numerischen Variablen addiert oder von diesem subtrahiert wird. Die arithmetische Erweiterung kann mit den doppelten Klammern ((…)) und $((…)) oder mit dem Befehl let builtin ausgeführt werden.

In Bash gibt es mehrere Möglichkeiten, eine Variable zu erhöhen / zu verringern. Dieser Artikel erklärt einige von ihnen.

Verwenden der Operatoren + und -

Die einfachste Methode zum Inkrementieren / Dekrementieren einer Variablen ist die Verwendung der Operatoren + und - .

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

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

Mit dieser Methode können Sie die Variable um einen beliebigen Wert erhöhen / verringern.

Hier ist ein Beispiel für das Inkrementieren einer Variablen in einer until Schleife:

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

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

Die Operatoren += und -=

Neben den oben erläuterten Basisoperatoren bietet bash auch die Zuweisungsoperatoren += und -= . Mit diesen Operatoren wird der Wert des linken Operanden um den nach dem Operator angegebenen Wert erhöht / erniedrigt.

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

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

In der folgenden while Schleife verringern wir den Wert der i Variablen um 5 .

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

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

Verwenden der ++ und -- Operatoren

Die Operatoren ++ und -- erhöhen bzw. verringern ihren Operanden um 1 und geben den Wert zurück.

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

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

Die Operatoren können vor oder nach dem Operanden verwendet werden. Sie sind auch bekannt als:

  • Präfix-Inkrement: ++i Präfix-Dekrement: --i Postfix-Inkrement: i++ Postfix-Dekrement: i--

Die Präfixoperatoren erhöhen / verringern zuerst die Operatoren um 1 und geben dann den neuen Wert der Operatoren zurück. Andererseits geben die Postfix-Operatoren den Wert der Operatoren zurück, bevor er inkrementiert / dekrementiert wurde.

Die folgenden Beispiele zeigen, wie der ++ Operator funktioniert, wenn er vor und nach seinem Operanten verwendet wird:

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

Im Folgenden finden Sie ein Beispiel für die Verwendung des Postfix-Inkrementors in einem Bash-Skript:

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

Der Nachteil dieser Operatoren ist, dass die Variable nur um 1 erhöht oder erniedrigt werden kann.

Fazit

Das Inkrementieren und Dekrementieren von Variablen in Bash kann auf viele verschiedene Arten erfolgen. Unabhängig von der verwendeten Methode ist das Ergebnis das gleiche.

Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.

Bash-Loop-Terminal