Τρόπος χρήσης της Εντολής αναστολής λειτουργίας Linux για παύση ενός σεναρίου BASH
Τι να ξέρετε
- Χρησιμοποιήστε το ύπνος εντολή συν ένα χρόνο? μικρό=δευτερόλεπτα, Μ=λεπτά, η=ώρες, ή ρε=μέρες (για παράδειγμα, ύπνος 5 δευτερόλεπτα διακόπτει το σενάριο για 5 δευτερόλεπτα).
- Χρήση ο άνθρωπος κοιμάται για περισσότερα.
Αυτό το άρθρο εξηγεί πώς να χρησιμοποιήσετε την εντολή αναστολής λειτουργίας Linux για παύση α σενάριο bash, μεταξύ άλλων. Από μόνη της, η εντολή ύπνου δεν είναι πολύ χρήσιμη. Ωστόσο, ως μέρος ενός σεναρίου, μπορεί να χρησιμοποιηθεί με πολλούς τρόπους. Για παράδειγμα, μπορείτε να το χρησιμοποιήσετε για να θέσετε σε παύση το σενάριο πριν δοκιμάσετε ξανά μια εντολή που απέτυχε την πρώτη φορά.

Παράδειγμα χρήσης της εντολής ύπνου
Φανταστείτε ότι έχετε ένα σενάριο που επεξεργάζεται αρχεία που έχουν ληφθεί από άλλο διακομιστή. Το σενάριο δεν πρέπει να ξεκινήσει τη διαδικασία αντιγραφής μέχρι να ολοκληρωθεί η λήψη όλων των αρχείων. Η διαδικασία λήψης εκτελείται από ένα ξεχωριστό σενάριο που εκτελείται πριν από το δικό σας.
Η δέσμη ενεργειών που αντιγράφει τα αρχεία μπορεί να περιέχει έναν βρόχο για να ελέγξει εάν έχουν ληφθεί όλα τα αρχεία (αυτό το κάνει ελέγχοντας εάν βρέθηκαν 50 αρχεία πριν ξεκινήσει η διαδικασία αντιγραφής).
Δεν έχει νόημα η συνεχής δοκιμή σεναρίων, καθώς αυτό χρησιμοποιεί χρόνο επεξεργαστή. Αντίθετα, μπορείτε να κάνετε παύση για λίγα λεπτά μεταξύ κάθε δοκιμής πριν προσπαθήσετε ξανά. Η εντολή ύπνου είναι τέλεια σε τέτοιες περιπτώσεις.
Πώς να χρησιμοποιήσετε την εντολή Sleep
Για να χρησιμοποιήσετε την εντολή ύπνου Linux, εισαγάγετε τα ακόλουθα στο παράθυρο του τερματικού:
ύπνος 5 δευτερόλεπτα
Η παραπάνω εντολή κάνει το τερματικό σε παύση για 5 δευτερόλεπτα πριν επιστρέψει στη γραμμή εντολών.
Η εντολή ύπνου απαιτεί τη λέξη-κλειδί ύπνος, ακολουθούμενο από τον αριθμό που θέλετε να κάνετε παύση και τη μονάδα μέτρησης.
Μπορείτε να καθορίσετε την καθυστέρηση σε δευτερόλεπτα, λεπτά, ώρες ή ημέρες.
- μικρό: Δευτερόλεπτα
- Μ: Λεπτά
- η: Ωρες
- ρε: Μέρες
Όσον αφορά την παύση ενός σεναρίου για μέρες, χρησιμοποιήστε μια εργασία cron για να εκτελείτε το σενάριο σε τακτά χρονικά διαστήματα, σε αντίθεση με την εκτέλεση ενός σεναρίου στο παρασκήνιο για μέρες.
Μια εργασία cron είναι μια εντολή ή σενάριο Linux που μπορείτε να προγραμματίσετε να εκτελεστεί σε μια καθορισμένη ώρα ή ημέρα. Αυτά είναι χρήσιμα για την επανάληψη εργασιών για μεγάλο χρονικό διάστημα.
Ο αριθμός για το διάστημα εντολών ύπνου δεν χρειάζεται να είναι ακέραιος αριθμός. Μπορείτε επίσης να χρησιμοποιήσετε αριθμούς κινητής υποδιαστολής.

Για παράδειγμα, η ακόλουθη σύνταξη περιλαμβάνει ένα κλάσμα του δευτερολέπτου:
ύπνος 3,5 δευτερόλεπτα
Παράδειγμα χρήσης της εντολής ύπνου
Το ακόλουθο σενάριο δείχνει πώς να χρησιμοποιήσετε την εντολή αναστολής λειτουργίας για να δημιουργήσετε ένα ρολόι αντίστροφης μέτρησης που βασίζεται σε τερματικό:
#!/bin/bash
x=10
ενώ [ $x -gt 0 ]
κάνω
ύπνος 1 δευτ
Σαφή
ηχώ "$x δευτερόλεπτα μέχρι την έκρηξη"
x=$(( $x - 1 ))
Έγινε
Δείτε πώς λειτουργεί αυτό το σενάριο:
- Το σενάριο ορίζει τη μεταβλητή x σε 10.
- Ο βρόχος while συνεχίζει να επαναλαμβάνεται ενώ η τιμή του x είναι μεγαλύτερη από το μηδέν.
- Η εντολή αναστολής λειτουργίας διακόπτει το σενάριο για 1 δευτερόλεπτο κάθε φορά γύρω από τον βρόχο.
- Το υπόλοιπο σενάριο διαγράφει την οθόνη κάθε επανάληψη, εμφανίζει το μήνυμα "x δευτερόλεπτα μέχρι το blast off" και αφαιρεί 1 από την τιμή του x.

Χωρίς την εντολή αναστολής λειτουργίας, το σενάριο θα έκανε μεγέθυνση και τα μηνύματα θα εμφανίζονταν πολύ γρήγορα.
Πώς να χρησιμοποιήσετε τους διακόπτες εντολών ύπνου
Η εντολή ύπνου έχει μόνο δύο διακόπτες.
ο --βοήθεια ο διακόπτης εμφανίζει το αρχείο βοήθειας για την εντολή αναστολής λειτουργίας. Μπορείτε να επιτύχετε το ίδιο πράγμα χρησιμοποιώντας την εντολή man ως εξής:
ο άνθρωπος κοιμάται.
ο --εκδοχή Ο διακόπτης δείχνει την έκδοση της εντολής αναστολής λειτουργίας που είναι εγκατεστημένη στο σύστημα.
Οι πληροφορίες που επιστρέφονται από τον διακόπτη --version είναι οι εξής:
- Αριθμός έκδοσης
- Λεπτομέρειες πνευματικών δικαιωμάτων
- Αδεια
- Συγγραφείς
Παύση εντολών τερματικού με αναστολή λειτουργίας
Μια άλλη καλή χρήση της εντολής ύπνου είναι η παύση των εντολών που πληκτρολογείτε στο παράθυρο του τερματικού.
Αν θέλετε, μπορείτε να πληκτρολογήσετε δύο εντολές στη σειρά, περιμένοντας να τελειώσει η πρώτη πριν πληκτρολογήσετε τη δεύτερη.
Ωστόσο, μια πιο γρήγορη προσέγγιση είναι να πληκτρολογήσετε τις δύο εντολές σε μια γραμμή, με μια εντολή ύπνου μεταξύ κάθε εντολής:
$ cd /mydirectory/ && sleep 3 && ls.
Πώς λειτουργεί αυτή η εντολή:
- ο cd /mydirectory/ εντολή αλλάζει τον κατάλογο.
- ο ύπνος 3 Η εντολή περιμένει τρία δευτερόλεπτα για να ολοκληρωθεί η εντολή cd.
- ο ls η εντολή εκτελεί και εμφανίζει τα περιεχόμενα του καταλόγου.
Για ένα απλό παράδειγμα όπως αυτό, η εντολή ύπνου εξοικονομεί μόνο λίγο χρόνο. Ωστόσο, εάν έχετε μια μεγάλη λίστα εντολών, η δυνατότητα να πληκτρολογήσετε τις εντολές σε μία γραμμή εξοικονομεί χρόνο.