פקודת שינה ב- Linux

Sleep Command Linux



פקודת Sleep משמשת לעיכוב פרק ​​זמן קבוע במהלך ביצוע כל סקריפט. כאשר המקודד צריך להשהות את ביצוע כל פקודה למטרה הספציפית, הפקודה הזו משמשת עם ערך הזמן המסוים. ניתן להגדיר את סכום העיכוב לפי שניות, דקות (מ), שעות (שעות) וימים (ד). הדרכה זו תעזור לך ללמוד את השימוש בפקודת שינה באמצעות סקריפטים שונים של bash.

תחביר פקודת שינה:

מספר שינה [סיומת]







אתה יכול להשתמש בכל מספר שלם או מספר שברי כערך זמן. חלק הסיומת הוא אופציונלי לפקודה זו. אם תשמט את הסיומת, ערך הזמן מחושב כשניות כברירת מחדל. אתה יכול להשתמש ש, מ, ח ו ד כערך סיומת. הדוגמאות הבאות מראות את השימוש בפקודת שינה עם סיומות שונות.



דוגמה 1: פקודת שינה ללא סיומת

בתסריט הבא, נעשה שימוש בפקודת שינה עם ערך מספרי 2 בלבד ואין להשתמש בסיומת. אז אם אתה מריץ את הסקריפט אז המחרוזת משימה הושלמה יודפס לאחר המתנה של 2 שניות.



#!/bin/bash

זרק 'מחכה 2 שניות ...'
לִישׁוֹן 2
זרק 'משימה הושלמה'

הפעל את קובץ bash עם זְמַן הפקודה להציג את שלושת סוגי ערכי הזמן להפעלת התסריט. הפלט מציג את הזמן בו משתמשים המערכת, המשתמש והזמן האמיתי.





$זְמַן לַחֲבוֹטsleep1.sh

תְפוּקָה:



דוגמה 2: פקודת שינה עם סיומת דקה

בתסריט הבא, ' M 'משמש סיומת עם פקודת שינה. כאן, ערך הזמן הוא 0.05 דקות. לאחר המתנה של 0.05 דקות, משימה הושלמה ההודעה תודפס.

#!/bin/bash

זרק 'מחכה 0.05 דקות ...'
לִישׁוֹן0.05 מ '
זרק 'משימה הושלמה'

הפעל את התסריט עם זְמַן פקודה כמו הדוגמה הראשונה.

$זְמַן לַחֲבוֹטsleep2.sh

תְפוּקָה:

דוגמה 3: פקודת שינה עם סיומת שעה

בתסריט הבא, ' ח 'משמש סיומת עם פקודת שינה. כאן ערך הזמן הוא 0.003 שעות. לאחר המתנה 0.003 שעות משימה הושלמה צריך להיות מודפס על המסך אבל זה דורש יותר פעמים במציאות מתי 'ח' משתמשים בסיומת.

#!/bin/bash

זרק 'מחכה 0.003 שעות ...'
לִישׁוֹן0.003 שעות
זרק 'משימה הושלמה'

$זְמַן לַחֲבוֹטsleep3.sh

תְפוּקָה:

דוגמה 4: פקודת שינה עם לולאה

אתה יכול להשתמש בפקודת שינה למטרות שונות. בדוגמה הבאה, נעשה שימוש בפקודת שינה עם לולאת while. בתחילה, ערך המשתנה נ מוגדר ל -1 והערך של נ יוגדל על ידי 1 ל 4 פעמים בכל 2 מרווח של שניות. לכן, מתי תריץ את הסקריפט, כל פלט יופיע לאחר המתנה של 2 שניות.

#!/bin/bash
נ=1
בזמן [ $ n -lt 5 ]
לַעֲשׂוֹת
זרק 'הערך של n הוא כעת$ n'
לִישׁוֹן2 שניות
זרק ''
((נ=$ n+1))
בוצע

תְפוּקָה:

דוגמא 5: פקודת שינה במסוף עם פקודות אחרות

נניח שאתה רוצה להריץ פקודות מרובות ולהגדיר את מרווח הזמן הקבוע בין הפלטים של שתי פקודות, ואז תוכל להשתמש בפקודת שינה כדי לבצע את המשימה. בדוגמה זו, הפקודה ls ו pwd נמצאים עם לִישׁוֹן פקודה. לאחר ביצוע הפקודה, ls הפקודה תציג את רשימת הספריות של הספרייה הנוכחית ותציג את נתיב מדריך העבודה הנוכחי לאחר המתנה של 2 שניות.

$ls && לִישׁוֹן 2 && pwd

תְפוּקָה:

דוגמה 6: שימוש בפקודת שינה משורת הפקודה

הפקודה sleep משמשת בין שתי פקודות הד בדוגמה הבאה. שלושה ערכי זמן יוצגו לאחר ביצוע הפקודה.

$זְמַן (זרק 'הַתחָלָה';לִישׁוֹן 5;זרק 'סוֹף')

תְפוּקָה:

פקודת שינה היא פקודה שימושית כאשר אתה צריך לכתוב סקריפט bash עם מספר פקודות או משימות, הפלט של כל פקודה עשוי לדרוש זמן רב ופקודה אחרת צריכה לחכות להשלמת המשימה של הפקודה הקודמת. לדוגמה, אתה רוצה להוריד קבצים עוקבים ולא ניתן להתחיל בהורדה הבאה לפני השלמת ההורדה הקודמת. במקרה זה, עדיף לפקוד שינה לפני כל הורדה כדי לחכות לפרק הזמן הקבוע.