Σύνταξη του βρόχου while:
ενώ [κατάσταση]κάνω
εντολές
Έγινε
Το μπλοκ έναρξης και λήξης του ενώ ο βρόχος ορίζεται από το κάνω και Έγινε λέξεις -κλειδιά σε σενάριο bash. Η συνθήκη τερματισμού ορίζεται στην αρχή του βρόχου. Ανοίξτε έναν επεξεργαστή κειμένου για να γράψετε σενάριο bash και δοκιμάστε τα ακόλουθα παραδείγματα βρόχου.
Παράδειγμα-1: Επαναλάβετε το βρόχο για σταθερό αριθμό φορών
Δημιουργήστε ένα αρχείο bash με όνομα ενώ1.σ που περιέχει το παρακάτω σενάριο.
ν=1
ενώ [ $ n -ο 5 ]
κάνω
πέταξε έξω 'Τρέξιμο$ nχρόνος'
((n ++))
Έγινε
Σε αυτό το παράδειγμα, ο βρόχος θα επαναληφθεί για 5 φορές και θα εκτυπώσει το κείμενο που έχει οριστεί μέσα στον βρόχο. Η ακόλουθη έξοδος θα εμφανιστεί εάν εκτελέσετε ενώ1.σ Το
Παράδειγμα-2: Χρήση δήλωσης διακοπής για έξοδο υπό όρους
Διακοπή Η δήλωση χρησιμοποιείται για έξοδο από τον βρόχο νωρίς με βάση μια συγκεκριμένη συνθήκη. Δημιουργήστε ένα νέο αρχείο bash με όνομα ενώ2.σ με τον ακόλουθο κωδικό.
ν=1ενώ [ $ n -ο 10 ]
κάνω
αν [ $ n==6 ]
τότε
πέταξε έξω «τερματίστηκε»
Διακοπή
είναι
πέταξε έξω 'Θέση:$ n'
((n ++))
Έγινε
Σε αυτό το παράδειγμα, ο βρόχος δηλώνεται ότι επαναλαμβάνεται για 10 φορές. Σύμφωνα με το σενάριο, θα τερματιστεί μετά από 6 φορές επανάληψη για δήλωση διακοπής. Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση του σεναρίου.
Παράδειγμα-3: Χρησιμοποιώντας τη δήλωση συνέχισης για να παραλείψετε ένα συγκεκριμένο βήμα
Δημιουργήστε ένα νέο αρχείο bash με όνομα ενώ3.σ με τον ακόλουθο κωδικό.
ν=0ενώ [ $ n -ο 5 ]
κάνω
((n ++))
αν [ $ n==3 ]
τότε
να συνεχίσει
είναι
πέταξε έξω 'Θέση:$ n'
Έγινε
Σε αυτό το παράδειγμα, ο βρόχος θα επαναληφθεί για 5 φορές, αλλά δεν θα εκτυπώσει και τις 5 θέσεις. Όταν ο βρόχος θα επαναληφθεί για 3rdφορές τότε η δήλωση συνέχισης θα εκτελεστεί και ο βρόχος θα μεταβεί στην επόμενη επανάληψη χωρίς να εκτυπωθεί το κείμενο του 3rdθέση. Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση του σεναρίου.
Παράδειγμα-4: Δημιουργία άπειρου βρόχου
Μερικές φορές, απαιτείται η δήλωση άπειρου βρόχου για διάφορους σκοπούς προγραμματισμού. Δημιουργήστε ένα νέο αρχείο bash με όνομα ενώ4.σ και δοκιμάστε τον κώδικα του άπειρου βρόχου.
ν=1ενώ:
κάνω
printf 'Η τρέχουσα τιμή του n =$ n n'
αν [ $ n==3 ]
τότε
πέταξε έξω 'Καλός'
elif [ $ n==5 ]
τότε
πέταξε έξω 'κακό'
elif [ $ n==7 ]
τότε
πέταξε έξω 'άσχημος'
elif [ $ n==10 ]
τότε
έξοδος 0
είναι
((n ++))
Έγινε
Σε αυτό το παράδειγμα, δεν ορίζεται συνθήκη τερματισμού για τον βρόχο. Αυτός ο τύπος βρόχου ονομάζεται άπειρος βρόχος. Εδώ, η δήλωση εξόδου χρησιμοποιείται για έξοδο από τον άπειρο βρόχο. Έτσι, αυτός ο βρόχος θα επαναληφθεί για 10 φορές και όταν η τιμή επανάληψης γίνει ίση με 10, τότε η εντολή εξόδου θα εκτελεστεί για έξοδο από τον άπειρο βρόχο.