از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
فرمان خواب Bash
سرفصلهای مطلب
دستور “خواب” Bash برای متوقف کردن اجرای اسکریپت برای یک دوره خاص استفاده می شود. این دستور برای انجام هر کار برنامه ریزی شده یا منتظر ماندن برای مدت معینی قبل از اجرای یک اسکریپت خاص مفید است. این دستور اجرای اسکریپت را برای چند زمان خاص متوقف می کند. کاربردهای این دستور در Bash برای اهداف مختلف در این آموزش نشان داده شده است.
نحو:
شماره خواب[suffix]…
مقدار عدد می تواند یک عدد صحیح مثبت یا یک عدد ممیز شناور باشد. مقدار پیش فرض پسوند “s” است که نشان دهنده ثانیه است. مقادیر دیگر پسوند می تواند “m” برای دقیقه، “h” برای ساعت و “d” برای روز باشد.
کاربردهای مختلف فرمان “Sleep”.
مثال 1: استفاده از دستور “Sleep” با مقدار صحیح
یک فایل Bash با اسکریپت زیر ایجاد کنید که با استفاده از دستور “sleep” عدد 1 تا 5 را با فواصل 2 ثانیه چاپ می کند. یک حلقه for بی نهایت برای چاپ مقدار $counter بعد از 2 ثانیه استفاده می شود تا زمانی که مقدار $counter برابر با 5 شود. دستور “sleep” با مقدار 2 برای تنظیم فاصله 2 ثانیه استفاده می شود. در اینجا هیچ پسوندی استفاده نشده است.
#مقدار شمارنده را تنظیم کنید
پیشخوان=1
#حلقه بی نهایت
برای((;;))
انجام دادن
#مقدار شمارنده را بررسی کنید
اگر [ $counter -gt 5 ]; سپس
زنگ تفریح
فی
#مقدار شمارنده را چاپ کنید
اکو شمارنده $
#2 ثانیه صبر کنید
خواب 2
# مقدار شمارنده را افزایش دهید
((شمارنده ++))
انجام شده
پس از اجرای اسکریپت خروجی زیر ظاهر می شود:
مثال 2: استفاده از دستور “Sleep” با یک عدد ممیز شناور
یک فایل Bash با اسکریپت زیر ایجاد کنید که متن “ساعت دیجیتال” و زمان فعلی سیستم را چاپ می کند که هر ثانیه با استفاده از دستور “خواب” به روز می شود. یک حلقه for بی نهایت برای به روز رسانی و چاپ زمان جاری در هر ثانیه استفاده می شود. “s” به عنوان پسوند دستور “خواب” استفاده می شود. هر کاراکتر از متن پس از فاصله 0.5 ثانیه چاپ می شود. کاربر باید “Ctrl+C” را فشار دهد تا اسکریپت خاتمه یابد.
#خط متن را با استفاده از دستور ‘sleep’ نمایش دهید
اکو -n ‘D’; خواب 0.5 ثانیه
اکو -n ‘من’; خواب 0.5 ثانیه
اکو -n ‘g’; خواب 0.5 ثانیه
اکو -n ‘من’; خواب 0.5 ثانیه
اکو -n ‘t’; خواب 0.5 ثانیه
اکو -n ‘آ’; خواب 0.5 ثانیه
اکو -n “من”; خواب 0.5 ثانیه
اکو -n “”; خواب 0.5 ثانیه
اکو -n ‘C’; خواب 0.5 ثانیه
اکو -n “من”; خواب 0.5 ثانیه
اکو -n ‘o’; خواب 0.5 ثانیه
اکو -n ‘ج’; خواب 0.5 ثانیه
اکو -n ‘k’; اکو
اکو “ساعت به زودی نمایش داده می شود.”
اکو Ctrl+C را فشار دهید تا برنامه بسته شود.
خواب 3s; روشن
در حالی که درست است، واقعی
انجام دادن
#نمایش زمان
تاریخ +“%H:%M:%S”
#1 ثانیه صبر کنید
خواب 1s
هر ثانیه صفحه را #پاک کنید
روشن
انجام شده
خروجی زیر پس از اجرای اسکریپت ظاهر می شود. اسکریپت پس از نمایش پیام زیر 5 ثانیه منتظر می ماند:
خروجی زیر پس از 5 ثانیه انتظار ظاهر می شود و مقدار زمان در هر ثانیه که مانند ساعت دیجیتال نمایش داده می شود به روز می شود. Ctrl+C را فشار دهید تا اسکریپت خاتمه یابد:
مثال 3: استفاده از دستور “Sleep” برای ایجاد زنگ هشدار
قبل از آزمایش اسکریپت این مثال باید یک مدیا پلیر نصب کنید. برای به روز رسانی سیستم و نصب vlc player در سیستم دستورات زیر را اجرا کنید:
$ سودو apt نصب vlc
یک فایل Bash با اسکریپت زیر ایجاد کنید که زمان زنگ ساعت را بر حسب ساعت، دقیقه و ثانیه می گیرد. پخش کننده vlc پس از گذراندن ساعت ها، دقیقه ها و ثانیه هایی که به عنوان ورودی گرفته می شود، فایل رسانه ای را به طور خودکار باز می کند. یک فایل رسانه ای موجود را که در پخش کننده رسانه پخش می شود انتخاب کنید. در این اسکریپت فایل “alarm.mp3” با استفاده از دستور “nvlc” پس از فاصله زمانی که دستور “sleep” سپری می شود، پخش می شود.
اکو “در حال پخش زنگ هشدار…”
#زمان زنگ ساعت را تنظیم کنید
اکو -n “زمان زنگ ساعت (_h _m _s) را وارد کنید:”
خواندن زنگ_زمان
وقتی زمان زنگ ساعت فرا رسید، VLC Player را راه اندازی کنید
خواب $alarm_time && nvlc /mnt/ج/دما/زنگ هشدار.mp3
خروجی زیر پس از اجرای اسکریپت ظاهر می شود. در اینجا، فاصله زمانی 10 ثانیه تنظیم شده است. پخش کننده vlc با فایل رسانه ای پس از 10 ثانیه باز می شود:
هنگامی که پخش کننده رسانه شروع به پخش فایل رسانه ای می کند، خروجی زیر ظاهر می شود. خروجی محل فایل، وضعیت پخش کننده رسانه، موقعیت فایل رسانه و حجم صدا را نشان می دهد:
نتیجه
دستور “sleep” یک دستور بسیار مفید از Bash است که برای اهداف مختلف استفاده می شود. برخی از کاربردهای این دستور در این آموزش با استفاده از مثال های متعدد مانند نمایش متن متحرک و ساعت دیجیتال، ایجاد ساعت زنگ دار و غیره نشان داده شده است. روش استفاده از این دستور در اسکریپت Bash پس از مطالعه این مطلب برای کاربران Bash پاک خواهد شد. آموزش
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 15:17:05