Shell Scripting - For Loops
Πίνακας περιεχομένων:
- Το πρότυπο Bash για βρόχο
- Βρόχο πάνω σε χορδές
- Βρόχο σε μια περιοχή αριθμών
- Βρόχος πάνω από στοιχεία πίνακα
- Το Bash στυλ C για βρόχο
- Διάλειμμα και Συνέχεια Δηλώσεις
- Δήλωση Break
- Συνέχεια δήλωσης
- Παραδείγματα βρόχου για βρόχους
- Μετονομασία αρχείων με κενά στο όνομα αρχείου
- Αλλαγή της επέκτασης αρχείου
- συμπέρασμα
Οι βρόχοι είναι μια από τις θεμελιώδεις έννοιες των γλωσσών προγραμματισμού. Οι βρόχοι είναι χρήσιμοι όταν θέλετε να εκτελείτε μια σειρά εντολών ξανά και ξανά μέχρι να επιτευχθεί μια συγκεκριμένη συνθήκη.
Σε γλώσσες δέσμης ενεργειών όπως το Bash, οι βρόχοι είναι χρήσιμοι για την αυτοματοποίηση επαναλαμβανόμενων εργασιών.
Υπάρχουν τρεις βασικές κατασκευές βρόχου σε δέσμες ενεργειών Bash, για βρόχο, ενώ βρόχο και μέχρι βρόχο.
Σε αυτό το σεμινάριο, θα καλύψουμε τα βασικά των βρόχων για το Bash. Θα σας δείξουμε επίσης πώς να χρησιμοποιήσετε τις δηλώσεις διακοπής και συνέχισης για να αλλάξετε τη ροή ενός βρόχου.
Το πρότυπο Bash για βρόχο
Ο κύκλος for iterates σε μια λίστα στοιχείων και εκτελεί το δεδομένο σύνολο εντολών.
Το Bash για βρόχο παίρνει την ακόλουθη μορφή:
for item in do done
Η λίστα μπορεί να είναι μια σειρά από συμβολοσειρές που χωρίζονται από διαστήματα, μια σειρά αριθμών, εξόδου μιας εντολής, πίνακα και ούτω καθεξής.
Βρόχο πάνω σε χορδές
Στο παρακάτω παράδειγμα ο βρόχος θα επαναλάβει κάθε στοιχείο στη λίστα των συμβολοσειρών και το μεταβλητό
element
θα οριστεί στο τρέχον στοιχείο.
for element in Hydrogen Helium Lithium Beryllium do echo "Element: $element" done
Ο βρόχος θα παράγει την ακόλουθη έξοδο:
Element: Hydrogen Element: Helium Element: Lithium Element: Beryllium
Βρόχο σε μια περιοχή αριθμών
Μπορείτε να χρησιμοποιήσετε την έκφραση αλληλουχίας για να ορίσετε μια σειρά αριθμών ή χαρακτήρων, καθορίζοντας μια αρχή και ένα τελικό σημείο της περιοχής. Η έκφραση αλληλουχίας έχει την ακόλουθη μορφή:
{START..END}
Στο παρακάτω παράδειγμα ο βρόχος θα επαναλάβει όλους τους αριθμούς από 0 έως 3.
for i in {0..3} do echo "Number: $i" done
Number: 0 Number: 1 Number: 2 Number: 3
Ξεκινώντας από το Bash 4, είναι επίσης δυνατό να καθορίσετε μια αύξηση όταν χρησιμοποιείτε εύρη. Η έκφραση λαμβάνει την ακόλουθη μορφή:
{START..END..INCREMENT}
for i in {0..20..5} do echo "Number: $i" done
Number: 0 Number: 5 Number: 10 Number: 15 Number: 20
Βρόχος πάνω από στοιχεία πίνακα
Μπορείτε επίσης να χρησιμοποιήσετε το βρόχο for για να επαναλάβετε μια σειρά στοιχείων:
Στο παρακάτω παράδειγμα, ορίζουμε ένα
BOOKS
συστοιχιών και αναπαράγουμε πάνω από κάθε στοιχείο του πίνακα.
BOOKS=('In Search of Lost Time' 'Don Quixote' 'Ulysses' 'The Great Gatsby') for book in "${BOOKS}"; do echo "Book: $book" done
Book: In Search of Lost Time Book: Don Quixote Book: Ulysses Book: The Great Gatsby
Το Bash στυλ C για βρόχο
Η σύνταξη του στυλ C για το βρόχο λαμβάνει την ακόλουθη μορφή:
for ((INITIALIZATION; TEST; STEP)) do done
Το τμήμα
INITIALIZATION
εκτελείται μόνο μία φορά όταν ξεκινά ο βρόχος. Στη συνέχεια αξιολογείται το τμήμα
TEST
. Εάν είναι λανθασμένη, ο βρόχος για τερμάτισε. Εάν η
TEST
είναι αληθής, εκτελούνται εντολές εντός του σώματος του for loop και ενημερώνεται το τμήμα
STEP
.
Στον ακόλουθο κώδικα, ο βρόχος αστέρες αρχικοποιώντας
i = 0
, και πριν από κάθε επανάληψη ελέγχει αν
i ≤ 10
. Εάν είναι αληθές, εκτυπώνει την τρέχουσα τιμή των
i
και
i
κατά 1 (
i++
) διαφορετικά ο βρόχος τερματίζεται.
for ((i = 0; i <= 1000; i++)); do echo "Counter: $i" done
Ο βρόχος θα επαναλάβει 1001 φορές και θα παράγει την ακόλουθη έξοδο:
Counter: 0 Counter: 1 Counter: 2… Counter: 998 Counter: 999 Counter: 1000
Διάλειμμα και Συνέχεια Δηλώσεις
Οι εντολές διακοπής και συνέχισης μπορούν να χρησιμοποιηθούν για τον έλεγχο της εκτέλεσης βρόχου.
Δήλωση Break
Η εντολή break διακόπτει τον τρέχοντα βρόχο και μεταβιβάζει το πρόγραμμα ελέγχου στη δήλωση που ακολουθεί την τερματισμένη δήλωση. Συνήθως χρησιμοποιείται για να τερματίσει τον βρόχο όταν πληρούται μια συγκεκριμένη συνθήκη.
Στο ακόλουθο παράδειγμα, χρησιμοποιούμε την εντολή if για να τερματίσει την εκτέλεση του βρόχου μόλις το τρέχον iterated στοιχείο είναι ίσο με το 'Lithium'.
for element in Hydrogen Helium Lithium Beryllium; do if]; then break fi echo "Element: $element" done echo 'All Done!'
Element: Hydrogen Element: Helium All Done!
Συνέχεια δήλωσης
Η εντολή continue συνεχίζει την τρέχουσα επανάληψη ενός βρόχου και περνά τον έλεγχο προγράμματος στην επόμενη επανάληψη του βρόχου.
Στο επόμενο παράδειγμα, ερχόμαστε σε iterating μέσω μιας σειράς αριθμών και όταν το τρέχον επαναλαμβανόμενο στοιχείο είναι ίσο με το '2', η συνέχεια θα αναγκάσει την εκτέλεση να επιστρέψει στην αρχή του βρόχου και να συνεχίσει με την επόμενη επανάληψη.
for i in {1..5}; do if]; then continue fi echo "Number: $i" done
Number: 1 Number: 3 Number: 4 Number: 5
Παραδείγματα βρόχου για βρόχους
Μετονομασία αρχείων με κενά στο όνομα αρχείου
Το παρακάτω παράδειγμα δείχνει πώς να χρησιμοποιήσετε το βρόχο Bash για να μετονομάσετε όλα τα αρχεία στον τρέχοντα κατάλογο με ένα κενό στα ονόματά του, αντικαθιστώντας το χώρο με την υπογράμμιση.
for file in *\ *; do mv "$file" "${file// /_}" done
Ας καταρρίψουμε τη γραμμή κώδικα κατά γραμμή:
- Η πρώτη γραμμή δημιουργεί ένα for loop και επαναλαμβάνει μέσω μιας λίστας όλων των αρχείων με ένα κενό στο όνομά της. Η έκφραση
*\ *δημιουργεί τη λίστα. Η δεύτερη γραμμή ισχύει για κάθε στοιχείο της λίστας και μετακινεί το αρχείο σε νέο, αντικαθιστώντας το χώρο με μια υπογράμμιση (_). Το τμήμα${file// /_}χρησιμοποιεί την επέκταση παραμέτρων κελύφους για να αντικαταστήσει ένα πρότυπο μέσα σε μια παράμετρο με μια συμβολοσειρά.doneδείχνει το τέλος του τμήματος βρόχου.
Αλλαγή της επέκτασης αρχείου
Το παρακάτω παράδειγμα δείχνει τον τρόπο χρήσης του βρόχου Bash για να μετονομάσετε όλα τα αρχεία που λήγουν με το.jpeg στον τρέχοντα κατάλογο αντικαθιστώντας την επέκταση αρχείου από το.jpeg σε.jpg.
for file in *.jpeg; do mv -- "$file" "${file%.jpeg}.jpg" done
Ας αναλύσουμε την γραμμή κώδικα κατά γραμμή:
- Η πρώτη γραμμή δημιουργεί ένα for loop και επαναλαμβάνει μέσω μιας λίστας όλων των αρχείων που τελειώνουν με '.jpeg'. Η δεύτερη γραμμή ισχύει για κάθε στοιχείο της λίστας και μετακινεί το αρχείο σε ένα νέο αντικαθιστώντας το '.jpeg' με το '.jpg'.
${file%.jpeg}για να καταργηθεί το τμήμα.jpeg από το όνομα αρχείου χρησιμοποιώντας την επέκταση παραμέτρου κελύφους που δείχνει το τέλος του τμήματος του βρόχου.
συμπέρασμα
Μέχρι τώρα θα πρέπει να έχετε μια καλή κατανόηση για το πώς να χρησιμοποιήσετε το bash για το βρόχο για να επαναλάβετε μέσω καταλόγων.
bash βρόχουΑκουστικά Bluetooth Motorola H790 <80> (ή λιγότερα) είναι μια εξαιρετική τιμή για αυτό το ελαφρύ κινητό ακουστικό Motorola, το οποίο παρέχει την πιο αξιόπιστη ποιότητα κλήσης τις περισσότερες φορές. > Ελαφρύ, άνετο και διακριτικό: Έτσι θα περιγράφαμε την εφαρμογή του Motorola H790. Αυτό το ακουστικό Bluetooth με ελκυστική τιμή ($ 80 από τις 8/6/09) αγκαλιάζει έναν πλαστικό βρόχο πέρα από το αυτί. Δεδομένου ότι ο βρόχος στερείται ευελιξίας για να καμπυλωθεί γύρω από το αυτί, παραμένει στο σταθε
Ο δακτύλιος αισθάνθηκε άνετα μέσα στο κανάλι του αυτιού μου. οι λαοί με μεγαλύτερα αυτιά μπορούν να δοκιμάσουν την ποικιλία των ακουστικών αντικατάστασης για να αποκτήσουν καλύτερη προσαρμογή. Το H790 μόλις άγγιξε το μάγουλο μου, αλλά παρέμεινε σταθερά συνδεδεμένο στο αυτί μου καθώς περπατούσα και μετέτρεψα το κεφάλι μου προς όλες τις κατευθύνσεις.
Πώς να βρόχο βίντεο youtube για το Android (και άλλα δροσερά κόλπα)
Θέλετε να βάλετε αυτό το νέο βίντεο του Charlie Puth στην επανάληψη; Με αυτό το δροσερό και εύκολο χειρισμό, τώρα μπορείτε να τοποθετήσετε οποιοδήποτε βίντεο του YouTube στη λειτουργία επανάληψης. Βρες πως!
Bash μέχρι βρόχο
Σε γλώσσες δέσμης ενεργειών όπως το Bash, οι βρόχοι είναι χρήσιμοι για την αυτοματοποίηση επαναλαμβανόμενων εργασιών. Αυτό το σεμινάριο εξηγεί τα βασικά του βρόχου μέχρι στο Bash. Ο κύκλος μέχρι να χρησιμοποιηθεί για να εκτελέσει ένα δεδομένο σύνολο εντολών για όσο διάστημα η δεδομένη κατάσταση αξιολογείται ως ψευδής.







