Πώς να χρησιμοποιήσετε το BASH για βρόχο



Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων

Ένα από τα πιο βασικά κόλπα κατά τη σύνταξη σεναρίων bash περιλαμβάνει τη δημιουργία βρόχου, ώστε να μπορείτε να εκτελέσετε μια συγκεκριμένη εργασία αυτόματα πολλές φορές. Τελικά, ο βρόχος θα φτάσει σε μια προκαθορισμένη κατάσταση δοκιμής και θα σταματήσει ξαφνικά να εκτελεστεί. Βρόχοι όπως αυτοί θα λειτουργούν τέλεια στο bash σε Linux και macOS, καθώς και στο bash shell μέσα στα Windows 10 και ακόμη και στα διάφορα κελύφη του FreeBSD. Φυσικά, μπορείτε να γράψετε όποια εντολή προτιμάτε σε οποιονδήποτε βρόχο και να συνεχίσετε οποιαδήποτε διαδικασία συνεχίζεται για όσο χρόνο θέλετε. Ενώ θα γράψουμε μερικούς εξαιρετικά απλούς βρόχους, μπορείτε να χρησιμοποιήσετε αυτές τις δεξιότητες για να συντάξετε ό, τι είδους σενάρια θέλετε.



Υπάρχουν πολλοί τρόποι για να αρχίσετε να γράφετε ένα σενάριο, αλλά για αυτήν τη συζήτηση θα υποθέσουμε ότι έχετε ανοίξει μια γραμμή εντολών είτε αναζητώντας τερματικό στο Dash, κάνοντας κλικ σε αυτό στα μενού KDE, MATE, LX ή Whisker ή κρατώντας πατημένα τα Ctrl, Alt και T ταυτόχρονα. Ενώ θα συζητήσουμε το vi / vim και το nano ως συντάκτες, το ζήτημα του οποίου το πρόγραμμα επεξεργασίας είναι αρκετά προσωπικό και θα μπορούσατε να εργαστείτε με ό, τι αισθάνεστε άνετα.



Μέθοδος 1: Το μέχρι το βρόχο

Ίσως ο πιο βασικός βρόχος στο bash είναι ο βρόχος μέχρι. Θα συνεχίσει να εκτελεί εντολές μέχρι να γίνει πραγματικότητα η δοκιμαστική συνθήκη που ορίσατε Θα υποθέσουμε ότι έχετε χρησιμοποιήσει είτε nano είτε vi για να ανοίξετε ένα ανύπαρκτο αρχείο που ονομάζεται μέχρι.sh και είστε έτοιμοι να εισαγάγετε νέο κείμενο σε αυτό. Θα φτιάξουμε απλώς κάτι στο 20 στο τερματικό σας για να το διατηρήσουμε εύκολο στην αρχή.



Ξεκινήστε πληκτρολογώντας τα εξής:

#! / bin / bash

n = 0



έως [$ n -gt 20]

κάνω

ηχώ $ n

((n ++))

Έγινε

Εάν χρησιμοποιείτε το nano, αποθηκεύστε το κρατώντας πατημένο το Ctrl και στη συνέχεια πιέζοντας το O και τέλος το X για έξοδο. Οι χρήστες του vi θα θέλουν να σπρώξουν τη διαφυγή και στη συνέχεια να πληκτρολογήσουν: wq για αποθήκευση και έξοδο.

Επόμενος τύπος chmod + x μέχριLoop στην προτροπή για να το εκτελέσετε και στη συνέχεια πληκτρολογήστε ./untilLoop για να το τρέξετε. Μόλις εκτελεστεί, ο βρόχος θα συνεχίσει να εκτυπώνει νέους αριθμούς στο τερματικό σας έως ότου η μεταβλητή n φτάσει τα 20.

Παρεμπιπτόντως, η πρώτη γραμμή λέει στο περιβάλλον σας ποιο κέλυφος θα φορτώσει όταν εργάζεστε με αυτά τα σενάρια. Ορισμένοι προγραμματιστές συμβουλεύουν να χρησιμοποιούν μόνο το #! / Bin / sh για να διασφαλίσουν ότι το σενάριό σας συμμορφώνεται με ορισμένα πρότυπα POSIX, αλλά αυτά τα απλά σενάρια δεν πρέπει να έχουν κανένα πρόβλημα να εκτελείται στη συντριπτική πλειονότητα των σύγχρονων συστημάτων.

Μέθοδος 2: Το για βρόχο

Το A for loop ρίχνει μια ματιά σε κάθε στοιχείο σε μια δεδομένη λίστα και στη συνέχεια εκτελεί ένα δεδομένο σύνολο εντολών σε αυτήν τη λίστα. Θα φτιάξουμε ένα που θα εκτυπώνει μερικά ονόματα λειτουργικού συστήματος, αλλά να θυμάστε ξανά ότι θα μπορούσατε να κάνετε οτιδήποτε με αυτό εάν το θέλετε.

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

#! / bin / bash

unices = 'GNU / Linux FreeBSD OpenBSD NetBSD Solaris OpenIndiana Darwin HP-UX Minix'

για unix σε $ unices

κάνω

echo $ unix

Έγινε

Αποθηκεύστε ξανά το αρχείο χρησιμοποιώντας τη μέθοδο Ctrl + O και στη συνέχεια τη μέθοδο Ctrl + X στο nano ή το Esc στη συνέχεια: μέθοδο wq στο vi πριν από την έκδοση της εντολής chmod + x forLoop να το κάνει εκτελέσιμο. Μόλις το κάνετε, εκτελέστε το πληκτρολογώντας ./forLoop στην προτροπή. Το for loop αναγκάζει την εντολή echo να λειτουργεί σε κάθε ένα από τα στοιχεία της μεταβλητής unices με τη σειρά. Θα μπορούσατε, για άλλη μια φορά, να αντικαταστήσετε αυτήν τη λίστα με οποιοδήποτε όρισμα και να αντικαταστήσετε την ηχώ με οποιαδήποτε εντολή για αυτοματοποίηση μακρών διεργασιών.

Μέθοδος 3: Ο βρόχος ενώ

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

Μέσα σε αυτό το αρχείο, θέλετε να προσθέσετε τις γραμμές:

#! / bin / bash

n = 0

ενώ [$ n -le 20]

κάνω

ηχώ $ n

((n ++))

Έγινε

Αποθηκεύστε το αρχείο με τον ίδιο τρόπο που αποθηκεύσατε τα άλλα και μετά βγείτε από το πρόγραμμα επεξεργασίας κειμένου. Μόλις βγείτε, εκδώστε την εντολή chmod + x whileLoop για να σας επιτρέψει να το εκτελέσετε και στη συνέχεια να το εκτελέσετε ./ SementaraLoop για να το τρέξετε. Θα δείτε την ίδια έξοδο που βγήκε από το σενάριο μέχριLoop από την πρώτη μέθοδο, καθώς μετράει από 0 έως 20 σε πιθανότατα ένα δευτερόλεπτο.

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

Μη διστάσετε να διαγράψετε τα σενάριά σας μόλις τελειώσετε με αυτά.

Διαβάστε 3 λεπτά