Android

Bash μέχρι βρόχο

Linux Tutorial: LT 12 - Loops & Arrays

Linux Tutorial: LT 12 - Loops & Arrays

Πίνακας περιεχομένων:

Anonim

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

Σε γλώσσες δέσμης ενεργειών όπως το Bash, οι βρόχοι είναι χρήσιμοι για την αυτοματοποίηση επαναλαμβανόμενων εργασιών. Υπάρχουν 3 βασικές δομές βρόχου σε δέσμες ενεργειών Bash, για βρόχο, ενώ βρόχο, και μέχρι βρόχο.

Αυτό το σεμινάριο εξηγεί τα βασικά του βρόχου μέχρι στο Bash.

Bash μέχρι Loop

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

Το Bash μέχρι το βρόχο παίρνει την ακόλουθη μορφή:

until do done

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

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

#!/bin/bash counter=0 until do echo Counter: $counter ((counter++)) done

Ο βρόχος επαναλαμβάνεται εφόσον η μεταβλητή counter έχει τιμή μεγαλύτερη από τέσσερα. Το σενάριο θα παράγει την ακόλουθη έξοδο:

Counter: 0 Counter: 1 Counter: 2 Counter: 3 Counter: 4 Counter: 5

Bash έως το βρόχο Παράδειγμα

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

#!/bin/bash until git pull &> /dev/null do echo "Waiting for the git host…" sleep 1 done echo -e "\nThe git repository is pulled."

Το σενάριο θα εκτυπώσει "Αναμονή για τον git host…" και θα παραμείνει για ένα δευτερόλεπτο μέχρι ο git host να συνδεθεί στο διαδίκτυο. Μόλις τραβηχτεί το αποθετήριο, θα εκτυπωθεί "Το αποθετήριο git τραβηχτεί".

Waiting for the git host… Waiting for the git host… Waiting for the git host… The git repository is pulled.

συμπέρασμα

Ο χρόνος και until βρόχοι είναι παρόμοιοι μεταξύ τους με την κύρια διαφορά ότι ο βρόχος while επαναλαμβάνεται όσο η κατάσταση αξιολογείται ως true και ο κύκλος until επαναληφθεί όσο η κατάσταση αξιολογείται ως false .

bash βρόχου