Bash Bereiche
-
Verwenden Sie die
for
-Schleife, um die Reichweite in Bash . zu erhalten -
Verwenden die
for
-Schleife mit Drei-Ausdruck, um die Reichweite in Bash zu erhalten -
Verwenden die
while
-Schleife, um Reichweite in Bash zu erhalten -
Verwenden
eval
, um die Reichweite in Bash zu erhalten -
Verwenden
seq
, um Reichweite in Bash zu erhalten
Dieses Tutorial demonstriert das Durchlaufen eines Bereichs von Ganzzahlen in der Bash mit der for
-Schleife und der while
-Schleife.
Verwenden Sie die for
-Schleife, um die Reichweite in Bash . zu erhalten
Das folgende Bash-Skript verwendet eine for
-Schleife mit geschweifter Erweiterung, um einen Zahlenbereich zu durchlaufen. Die Zahlen in den geschweiften Klammern werden sequentiell inkrementiert.
#!/bin/bash
printf "Print Numbers from 0 to 5\n"
for x in {0..5}
do
printf "number:$x\n"
done
Ausgabe:
Print Numbers from 0 to 5
number:0
number:1
number:2
number:3
number:4
number:5
Verwenden die for
-Schleife mit Drei-Ausdruck, um die Reichweite in Bash zu erhalten
Das Skript verwendet eine for
-Schleife mit drei Ausdrücken wie in der Sprache C. Dabei ist expr1
die Initialisierung, expr2
ist die Bedingung und expr3
ist das Inkrement.
In unserem Fall wird x
auf 0
initialisiert, x
wird geprüft, ob es kleiner oder gleich 5
ist, und zuletzt wird x
um 1
erhöht.
#!/bin/bash
max=5
printf "Print Numbers from 0 to $max\n"
for ((x=0;x<=max;x++)); do
printf "number: $x\n"
done
Ausgabe:
Print Numbers from 0 to 5
number: 0
number: 1
number: 2
number: 3
number: 4
number: 5
Verwenden die while
-Schleife, um Reichweite in Bash zu erhalten
Dies verwendet eine while
-Schleife mit einem binären Vergleichsoperator -le
, der für den arithmetischen Wertvergleich verwendet wird.
In unserem Fall wird die while-Schleife ausgeführt, solange x
kleiner oder gleich der Variablen $max
ist.
#!/bin/bash
x=0
max=5
printf "Print numbers from $x to $max\n"
while [ $x -le $max ]; do
printf "number: $x\n"
x=$(($x+1))
done
Ausgabe:
Print numbers from 0 to 5
number: 0
number: 1
number: 2
number: 3
number: 4
number: 5
Verwenden eval
, um die Reichweite in Bash zu erhalten
eval
ist ein Bash-Befehl, der verwendet wird, um Argumente als Shell-Befehle auszuführen. Im Skript unten generieren die geschweiften Klammern Zahlen von 0
bis $max
in Schritten von 1
, die for
-Schleife durchläuft diese Zahlen und der Befehl printf
zeigt sie an.
#!/bin/bash
max=4
printf "Print Numbers from 0 to $max\n"
for x in `eval echo {0..$max}`
do
printf "number: $x\n"
done
Ausgabe:
Print Numbers from 0 to 4
number: 0
number: 1
number: 2
number: 3
number: 4
Verwenden seq
, um Reichweite in Bash zu erhalten
seq
ist ein Bash-Befehl, der verwendet wird, um Zahlen von start
bis Ende
in Inkrement-Schritten zu generieren.
In unserem Fall generiert seq
Zahlen von x
bis $max
in Schritten von 1
. Die for
-Schleife durchläuft diese Zahlen und der Befehl printf
wird verwendet, um sie anzuzeigen.
x=0
max=5
printf "Print numbers from $x to $max\n"
for x in $(seq $x $max)
do
printf "number: $x\n"
done
Ausgabe:
Print numbers from 0 to 5
number: 0
number: 1
number: 2
number: 3
number: 4
number: 5