نحوه استفاده از فرمان لینوکس "sleep" برای توقف یک اسکریپ BASH

این راهنمای نشان می دهد که چگونه از فرمان sleep Linux برای متوقف کردن یک اسکریپ bash استفاده کنید.

به خودی خود، دستور فرمان کاملا بی فایده است مگر اینکه شما دوست دارید قفل کردن پنجره ترمینال خود را داشته باشید، اما به عنوان بخشی از یک اسکریپت می توان آن را با بسیاری از روش های مختلف از قبیل یک فاکتور مکث قبل از بارگزاری یک دستور استفاده کرد.

به عنوان مثال، تصور کنید که شما یک اسکریپت داشتید که پرونده های پردازش شده از سرور دیگری کپی می شد. اسکریپت نباید فرآیند کپی را شروع کند تا تمام فایل ها به طور کامل دانلود شوند.

فرایند دانلود با یک اسکریپت کاملا جداگانه انجام می شود.

اسکریپت برای کپی کردن فایل ها ممکن است شامل یک حلقه برای بررسی اینکه آیا تمام فایل ها دانلود شده است (یعنی می داند باید 50 فایل داشته باشد و زمانی که پرونده 50 پرونده شروع شده باشد پیدا شده است).

هیچ مشکلی وجود ندارد که اسکریپت به طور مداوم تست شود، زیرا پردازشگر زمان می گیرد. در عوض، شما ممکن است انتخاب کنید تا تست کنید که آیا کافی است کپی فایل ها و اگر چند دقیقه مکث نکرده باشید، و سپس دوباره امتحان کنید. دستور العمل خواب در این شرایط کامل است.

نحوه استفاده از فرماندهی خواب

برای استفاده از دستور لینوکس خواب، پنجره زیر را وارد کنید:

خواب 5s

دستور بالا باعث می شود که ترمینال شما 5 ثانیه طول بکشد تا شما را به خط فرمان بازگرداند.

دستور العمل خواب نیاز به کلید واژه sleep و بعد از آن شماره ای که می خواهید مکث کنید و سپس واحد اندازه گیری.

شما می توانید تاخیر را در ثانیه، دقیقه، ساعت یا روز مشخص کنید.

هنگامی که به روزهای انتظار برای چیزی اتفاق می افتد، ممکن است ارزش استفاده از کار cron را برای اجرای اسکریپت در فواصل منظم داشته باشد، در مقایسه با اینکه یک اسکریپت در پسزمینه برای روزهای آخر اجرا شود.

شماره دستور فرمان باید یک عدد کامل نباشد.

شما همچنین می توانید از شماره های شناور استفاده کنید.

به عنوان مثال، استفاده از دستور زیر به طور کامل درست است:

خواب 3.5 ثانیه

یک مثال برای دستورات خواب استفاده کنید

اسکریپت زیر نشان می دهد که چگونه از دستور فرمان برای ایجاد ساعت شمارش معکوس ترمینال استفاده کنید:

#! / bin / bash

x = 10

در حالی که [$ x -gt 0]

انجام دادن

خواب 1 ثانیه

روشن است

echo "$ x ثانیه تا انفجار"

x = $ (($ x - 1))

انجام شده

اسکریپت متغیر x را به 10 تنظیم می کند. حلقه در ادامه به تکرار ادامه می دهد در حالی که مقدار x بزرگتر از صفر است.

دستورالعمل خواب هر بار در هر حلقه به مدت 1 ثانیه اسکریپت را متوقف می کند.

بقیه اسکریپت هر صفحه تکرار روی صفحه را پاک می کند، پیام "x ثانیه تا انفجار" (یعنی 10) را نمایش می دهد و سپس 1 را از مقدار x محاسبه می کند.

بدون دستور فرمان، اسکریپت از بین می رود و پیام ها به سرعت نمایش داده می شوند.

فرمان خواب تنها دو سوئیچ دارد.

سوئیچ - help فایل فایل راهنما برای فرمان sleep را نشان می دهد. شما می توانید همان کار را با استفاده از دستور man به صورت زیر انجام دهید:

مرد خواب است

فرمان -version نسخه فرمان sleep که در سیستم شما نصب شده است را نشان می دهد.

اطلاعات بازگشتی سوئیچ --version به شرح زیر است: