Παραδείγματα Bash For Loop και While Loop

Όπως κάθε άλλη γλώσσα σεναρίου, το Bash έχει επίσης υποστήριξη για βρόχους.

Οι βρόχοι είναι εξαιρετικοί για την εκτέλεση επαναλαμβανόμενων εργασιών. Μπορούμε να χρησιμοποιήσουμε για βρόχους και ενώ βρόχους στα σενάρια Bash.



Bash για βρόχο

Η σύνταξη του for for loop είναι:


for VARIABLE in PARAM1 PARAM2 PARAM3 do // scope of for loop done

Το for loop θα εκτελεστεί για κάθε παράμετρο. Οι παράμετροι μπορεί να είναι αριθμοί, εύρος αριθμών ή συμβολοσειρές κ.λπ.

Παράδειγμα Bash For Loop

Αυτό το απλό παράδειγμα εκτυπώνει αριθμούς, 1 έως 5 χρησιμοποιώντας το βρόχο για:


#!/bin/bash for i in 1 2 3 4 5 do echo '$i' done

Παραγωγή:

1 2 3 4 5

Bash For Loop - Εκτύπωση εύρους αριθμών

Μπορούμε επίσης να ορίσουμε ένα εύρος αριθμών για βρόχο:

Για παράδειγμα:

for i in {1..5} do echo '$i' done

Παραγωγή:


1 2 3 4 5

Bash Loop Through Strings

Μπορούμε επίσης να χρησιμοποιήσουμε τις παραμέτρους συμβολοσειράς για βρόχο:

#!/bin/bash for day in MON TUE WED THU FRI SAT SUN do echo '$day' done

Παραγωγή:

MON TUE WED THU FRI SAT SUN

Bash For Loop - Στυλ C

Μπορούμε επίσης να χρησιμοποιήσουμε μια σύνταξη τύπου C για να γράψουμε το for loop. Για παράδειγμα:

#!/bin/bash for ((i=1; i<=5; i++)) do echo '$i' done

Παραγωγή


1 2 3 4 5

Για εκτύπωση λίστας αρχείων από τον Loop στον τρέχοντα κατάλογο

Για να απαριθμήσουμε όλα τα αρχεία στον τρέχοντα κατάλογο χρησιμοποιώντας το bash for loop, χρησιμοποιούμε:

#!/bin/bash for fname in ./ do ls -l $fname done

Bash ενώ βρόχος

Το Bash υποστηρίζει επίσης ενώ βρόχους. Ενώ οι βρόχοι εκτελούν ένα σύνολο οδηγιών έως ότου μια συνθήκη αξιολογηθεί ως αληθής.

Η σύνταξη για το Bash while loop είναι:

while [condition] do //execute instructions done

Η συνθήκη αξιολογείται πριν από την εκτέλεση οποιωνδήποτε οδηγιών. Επομένως, είναι απαραίτητο να έχουμε ένα μέσο ενημέρωσης της κατάστασης, διαφορετικά ο βρόχος θα εκτελεστεί για πάντα.


Παράδειγμα Bash While Loop

Το παρακάτω είναι ένας απλός βρόχος while που εκτυπώνει τους αριθμούς 1 έως 5. Ο βρόχος τερματίζεται όταν ο αριθμός είναι μεγαλύτερος από 5.

#!/bin/bash num=1 while [ $num -le 5 ] do echo '$num' let num++ done

Bash C-Style While Loop

Όπως και για το loop, μπορούμε επίσης να γράψουμε το bash ενώ το loop σε γλώσσα τύπου C.

Για παράδειγμα:

#!/bin/bash num=1 while((num <= 5)) do echo $num let num++ done