Android

Πώς να χρησιμοποιήσετε την εντολή sleep linux για να διακόψετε μια δέσμη ενεργειών bash

Contain Yourself: An Intro to Docker and Containers by Nicola Kabar and Mano Marks

Contain Yourself: An Intro to Docker and Containers by Nicola Kabar and Mano Marks

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

Anonim

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

Η εντολή ύπνου είναι ιδιαίτερα χρήσιμη όταν χρησιμοποιείται σε ένα σενάριο shell bash, για παράδειγμα όταν προσπαθεί να επαναλάβει μια αποτυχημένη λειτουργία ή μέσα σε ένα βρόχο.

Σε αυτό το σεμινάριο, θα σας δείξουμε πώς να χρησιμοποιήσετε την εντολή ύπνου Linux.

Πώς να χρησιμοποιήσετε την εντολή ύπνου

Η σύνταξη της εντολής ύπνου έχει ως εξής:

sleep NUMBER…

Ο NUMBER μπορεί να είναι ένας θετικός ακέραιος αριθμός ή ένας αριθμός κινητής υποδιαστολής.

Το SUFFIX μπορεί να είναι ένα από τα ακόλουθα:

  • s - δευτερόλεπτα (προεπιλογή) m - λεπτά h - ώρες d - ημέρες

Όταν δεν χρησιμοποιείται καμία κατάληξη, αυτή είναι προεπιλεγμένη σε δευτερόλεπτα.

Όταν καθορίζονται δύο ή περισσότερα επιχειρήματα, το συνολικό χρονικό διάστημα είναι ισοδύναμο με το άθροισμα των τιμών τους.

Ακολουθούν μερικά απλά παραδείγματα που δείχνουν πώς να χρησιμοποιήσετε την εντολή ύπνου:

  • Ξυπνήστε για 5 δευτερόλεπτα:

    sleep 5

    Ξυπνήστε για 0, 5 δευτερόλεπτα:

    sleep 0.5

    Αναμονή για 2 λεπτά και 30 δευτερόλεπτα:

    sleep 2m 30s

Παραδείγματα δέσμης ενεργειών

Παρακάτω είναι το πιο βασικό παράδειγμα του τρόπου χρήσης της εντολής ύπνου στα σενάριά σας Bash. Όταν τρέχετε το σενάριο θα εκτυπώσει την τρέχουσα ώρα σε μορφή HH:MM:SS . Στη συνέχεια, η εντολή ύπνου θα διακόψει προσωρινά το σενάριο για 5 δευτερόλεπτα. Όταν παρέλθει η καθορισμένη χρονική περίοδος, η τελευταία γραμμή του σεναρίου θα εκτυπώσει εκ νέου την τρέχουσα ώρα.

#!/bin/bash # start time date +"%H:%M:%S" # sleep for 5 seconds sleep 5 # end time date +"%H:%M:%S"

Η έξοδος θα φαίνεται κάπως έτσι:

13:34:40 13:34:45

Ας ρίξουμε μια ματιά σε ένα πιο προηγμένο παράδειγμα.

#!/bin/bash while: do if ping -c 1 ip_address &> /dev/null then echo "Host is online" break fi sleep 5 done

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

Πώς λειτουργεί το σενάριο:

  • Στην πρώτη γραμμή, δημιουργούμε ένα άπειρο ενώ loop.Then χρησιμοποιούμε την εντολή ping για να καθορίσουμε αν ο κεντρικός υπολογιστής με διεύθυνση IP του ip_address είναι εφικτός ή όχι.Αν ο οικοδεσπότης είναι προσβάσιμος το σενάριο θα echo "Host is online" και τερματίστε το βρόχο. Αν ο κεντρικός υπολογιστής δεν είναι προσβάσιμος, η εντολή ύπνου διακόπτει το σενάριο για 5 δευτερόλεπτα και στη συνέχεια ο βρόχος ξεκινά από την αρχή.

συμπέρασμα

Μέχρι τώρα θα πρέπει να έχετε καλή κατανόηση του τρόπου χρήσης της εντολής ύπνου Linux.

Η εντολή ύπνου είναι μία από τις απλούστερες εντολές κελύφους, αποδεχόμενη μόνο ένα επιχείρημα το οποίο χρησιμοποιείται για τον προσδιορισμό του διαστήματος ύπνου.

τερματικό ύπνου