Einführung
Bash let
ist ein eingebauter Befehl in Linux-Systemen, der zum Auswerten von arithmetischen Ausdrücken verwendet wird. Im Gegensatz zu anderen arithmetischen Auswertungs- und Erweiterungsbefehlen let
ist ein einfacher Befehl mit eigener Umgebung. Das let
Der Befehl erlaubt auch eine arithmetische Erweiterung.
In diesem Tutorial gehen wir die let-Befehlssyntax, Optionen und Verwendungsbeispiele durch.
Voraussetzungen
- Ein System, auf dem eine Linux-Distribution ausgeführt wird
- Zugriff auf das Terminalfenster oder die Befehlszeile
Bash-let-Anweisungssyntax
Das let
Der Befehl verwendet die folgende grundlegende Syntax:
let [expression]
In der obigen Syntax expression
ist ein arithmetischer Ausdruck, den Sie let
möchten Befehl zum Auswerten. let
funktioniert nur mit Ausdrücken, die ganze Zahlen enthalten. Der Befehl unterstützt keine Gleitkommazahlen .
Das let
Mit dem Befehl können Benutzer mehr als einen Ausdruck gleichzeitig auswerten. In diesem Fall lautet die Syntax:
let [expression 1] [expression 2] … [expression 3]
let Arithmetische Operatoren
Die Bash let
Der Befehl kann Ausdrücke auswerten, die die arithmetischen Operatoren aus der folgenden Tabelle enthalten. Die Einträge werden in der Reihenfolge abnehmender Priorität aufgelistet, wobei die Operatoren derselben Priorität in derselben Zeile aufgelistet werden:
Operator | Beschreibung |
var++ var-- | Post-Inkrement (++): Interpretiere den Wert einer Variablen und addiere 1 dazu. Post-Dekrement (--): Interpretiere den Wert einer Variablen und subtrahiere 1 davon. |
++var --var | Pre-Increment (++): Addieren Sie 1 zum Wert einer Variablen und interpretieren Sie dann den Wert. Vorverringerung (--): Subtrahiere 1 vom Wert einer Variablen und interpretiere dann den Wert. |
-expr +expr | Unäres Minus: Gibt den Wert des Ausdrucks multipliziert mit -1 zurück. Unäres Plus: Gibt den Wert des Ausdrucks unverändert zurück (multipliziert mit 1). |
! ~ | Logische Negation: Gibt false zurück, wenn der Operand wahr ist, und true, wenn der Operand falsch ist. Bitweise Negation: Flip die Bits in der binären Darstellung einer Zahl. |
** | Potenzierung: Potenzieren Sie eine ganze Zahl mit einer anderen. |
* / % | Grundlegende arithmetische Operatoren: Multiplikation. Aufteilung. Rest (modulo). |
+ - | Grundlegende arithmetische Operatoren: Zusatz. Subtraktion. |
<< >> | Bitweise Verschiebung nach links. Bitweise Verschiebung nach rechts. |
<= >= < > | Wertvergleich: Gleich oder kleiner als. Größer als oder gleich wie. Weniger als. Größer als. |
== != | Gleichheit: Gibt wahr zurück, wenn die Operanden gleich sind. Ungleichheit: Gibt false zurück, wenn die Operanden gleich sind. |
& | Bitweises UND: Multipliziert die entsprechenden Ziffern zweier Binärwerte. |
^ | Bitweises XOR: Vergleicht die entsprechenden Ziffern zweier Binärwerte und gibt 1 zurück, wenn sich die Ziffern unterscheiden. |
| | Bitweises ODER: Vergleicht die entsprechenden Ziffern zweier Binärwerte und gibt 1 zurück, wenn eine der Ziffern eine 1 ist. |
&& | Logisches UND: Gibt wahr zurück, wenn beide Operanden wahr sind. |
|| | Logisches ODER: Gibt wahr zurück, wenn einer der Operanden wahr ist. |
expr1 ? expr2 : expr3 | Bedingter Operator: Wenn Ausdr1 wahr ist, geben Sie expr2 zurück . Wenn Ausdr1 falsch ist, geben Sie expr3 zurück . |
=, *=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |= | Zuweisung: Weisen Sie einer Variablen einen Wert zu. |
Beispiele für Bash-Lets
Das let
Mit dem Befehl können Sie Variablen Werte zuweisen und arithmetische, bitweise und logische Operationen ausführen. Lesen Sie die folgenden Abschnitte für Beispiele.
Einer Variable einen Wert zuweisen
Verwenden Sie das let
Befehl, um einer Variablen einen Wert zuzuweisen mit:
let "[variable] = [value]"
Weisen Sie beispielsweise der Variablen var1 den Wert 5 zu und den Wert als Ausgabe ausgeben:
let "var1 = 5"; echo $var1
Ebenso wird nach dem Festlegen eines Variablenwerts das let
Mit dem Befehl können Sie denselben Wert einer anderen Variablen zuweisen:
let "var1 = 5" "var2=var1"; echo $var2
Grundlegende arithmetische Operationen durchführen
Verwenden Sie nach dem Festlegen von Variablenwerten das let
Befehl zum Ausführen grundlegender arithmetischer Operationen. Legen Sie beispielsweise var1 fest als 6 und var2 als 2 und führe Addition, Subtraktion, Multiplikation, Division und Modul aus:
let "var1 = 6" "var2 = 2" "var3=var1+var2"; echo $var3
let "var1 = 6" "var2 = 2" "var3=var1-var2"; echo $var3
let "var1 = 6" "var2 = 2" "var3=var1*var2"; echo $var3
let "var1 = 6" "var2 = 2" "var3=var1/var2"; echo $var3
let "var1 = 6" "var2 = 2" "var3=var1%var2"; echo $var3
In diesem Beispiel das let
Befehl setzt den Wert von var3 als Ergebnis der arithmetischen Operation und druckt das Ergebnis aus.
Potenzierung durchführen
Das let
Der Befehl erfordert zwei ganzzahlige Werte, um eine Potenzierung durchzuführen . Der erste Wert (base
) wird mit dem zweiten Wert potenziert (power
):
let "[base] ** [power]"
Um beispielsweise den Basiswert von 3 mit 2 zu potenzieren und das Ergebnis auszudrucken, verwenden Sie diesen Befehl:
let "var1 = 3 ** 2"; echo $var1
Unäre Operationen ausführen
Verwenden Sie ein unäres Minus mit dem let
Befehl zum Ändern eines Ausdrucks von positiv nach negativ und umgekehrt:
let "var1 = 2 + 3" "var1=-var1"; echo $var1
Das unäre Plus multipliziert den Ausdruck mit 1 und gibt einen unveränderten Wert zurück:
let "var1 = 2 + 3" "var1=+var1"; echo $var1
Variablenwert inkrementell ändern
Verwenden des Post-Inkrements oder post-decrement Operatoren interpretiert den Variablenwert und erhöht oder verringert ihn dann um 1:
let "var1 = 10" "var2=var1++"; echo $var1 $var2
Im obigen Beispiel die Variable var2 erhält den Wert von var1 (10) bevor es um 1 erhöht wird. Dasselbe passiert, wenn ein Post-Dekrement durchgeführt wird:
let "var1 = 10" "var2=var1--"; echo $var1 $var2
Durchführen eines Pre-Increment erhöht den Wert von var1 durch 1 (11) und weist dann var2 den neuen Wert zu :
let "var1 = 10" "var2=++var1"; echo $var1 $var2
Durchführen eines Pre-Decrement macht das gleiche. Diesmal wird jedoch der Wert von var1 verringert um 1 (9):
let "var1 = 10" "var2=--var1"; echo $var1 $var2
Durchführen von Bitverschiebungen
Durchführen von Bitverschiebungen mit dem let
verschiebt die Reihenfolge der Ziffern einer Binärzahl nach links oder rechts. Wenn Sie beispielsweise die Zahl 8 zweimal nach links verschieben, wird sie zweimal mit zwei multipliziert:
let "var1 = 8 << 2"; echo $var1
Umgekehrt teilt eine zweimalige Bitverschiebung nach rechts den Wert zweimal durch 2:
let "var1 = 8 >> 2"; echo $var1
Durchführen von bitweisen Operationen
Eine bitweise Negation kehrt jede Ziffer einer Binärzahl um. Diese Operation ändert 1 in 0 und umgekehrt:
let "var1 = 5" "var2=~var1"; echo $var2
Im obigen Beispiel konvertiert der Befehl let den Wert 5 in eine 32-Bit-Ganzzahl mit Vorzeichen (0000000000000000000000000000101) und kehrt die Ziffern um. Diese Operation ergibt -6 (1111111111111111111111111111010).
Ein bitweises UND -Operator konvertiert ein Wertepaar in 32-Bit-Ganzzahlen mit Vorzeichen und vergleicht die Ziffern der Reihe nach. Die Aktion gibt 1 zurück, wenn beide Ziffern 1 sind, oder 0:
let "var1 = 5" "var2 = 10" "var3 = var1&var2"; echo $var3
Das bitweise ODER -Operator vergleicht die entsprechenden Ziffern zweier Werte und gibt 1 zurück. Aber mindestens eines der Bits muss 1 sein:
let "var1 = 5" "var2 = 10" "var3 = var1|var2"; echo $var3
Das bitweise XOR -Operator vergleicht die entsprechenden Ziffern zweier Werte und gibt 0 zurück, wenn die Ziffern übereinstimmen. Andernfalls gibt der Operator 1:
zurücklet "var1 = 5" "var2 = 10" "var3 = var1^var2"; echo $var3