Sleep یک ابزار خط فرمان است که به شما امکان می دهد فرایند های در حال اجرا را برای مدت مشخص معلق کنید. به عبارت دیگر ، دستور Sleep برای مدت معینی از ثانیه اجرای دستور بعدی را متوقف می کند.
این دستور هنگام استفاده از یک اسکریپت پوسته (bash shell) مفید است ، به عنوان مثال ، هنگام امتحان مجدد یک عمل شکست خورده یا درون یک loop.
در این آموزش نحوه استفاده از دستور Sleep لینوکس را به شما نشان خواهیم داد.
در ادامه با ما در شتابان هاست همراه باشید.
نحوه استفاده از دستور Sleep:
نحو دستور Sleep به شرح زیر است:
...[sleep NUMBER[SUFFIX
NUMBER ممکن است یک عدد صحیح مثبت یا یک عدد از نقطه شناور باشد.
SUFFIX ممکن است یکی از موارد زیر باشد:
- s – ثانیه (پیش فرض)
- m – دقیقه
- h – ساعت
- d – روز
وقتی هیچ پسوند مشخص نشده باشد ، ثانیه پیش فرض می شود.
وقتی دو یا چند آرگومان ارائه می شود ، کل زمان معادل جمع ارزش های آنها است.
در اینجا چند مثال ساده وجود دارد که نحوه استفاده از دستور Sleep را نشان می دهد:
۵ ثانیه:
sleep 5
۰٫۵ ثانیه:
sleep 0.5
۲ دقیقه و ۳۰ ثانیه:
sleep 2m 30s
نمونه های اسکریپت Bash:
در این بخش ، ما به چند اسکریپت پوسته اصلی خواهیم پرداخت تا ببینیم چگونه از این دستور استفاده می شود.
bin/bash/!#
start time #
"date +"%H:%M:%S
sleep for 5 seconds #
sleep 5
end time #
"date +"%H:%M:%S
وقتی اسکریپت را اجرا می کنید ، زمان فعلی را با فرمت HH: MM: SS نشان می دهد. سپس دستور Sleep به مدت ۵ ثانیه اسکریپت را متوقف می کند. پس از پایان دوره زمانی مشخص ، آخرین خط اسکریپت زمان فعلی را نشان می دهد.
خروجی چیزی شبیه به این خواهد بود:
۱۳:۳۴:۴۰
۱۳:۳۴:۴۵
بیایید به یک مثال پیشرفته تر نگاه کنیم:
bin/bash/!#
: while
do
if ping -c 1 ip_address &> /dev/null
then
"echo "Host is online
break
fi
sleep 5
done
این اسکریپت هر ۵ ثانیه چک میکند که یک میزبان آنلاین است یا خیر. وقتی میزبان آنلاین می شود ، اسکریپت به شما اطلاع می دهد و متوقف می شود.
نحوه کار اسکریپت:
- در خط اول ، ما در حال ایجاد یک نامتناهی در حالی که loop هستیم.
- سپس ما از دستور ping برای تعیین اینکه آیا میزبان با آدرس IP ip_address قابل دستیابی است استفاده می کنیم.
- اگر میزبان قابل دسترسی باشد ، اسکریپت “Host is online” تکرار می شود و loop را خاتمه می دهد.
- اگر میزبان قابل دستیابی نباشد ، دستور Sleep 5 ثانیه اسکریپت را مکث می کند و سپس loop از ابتدا شروع می شود.
جمع بندی:
دستور Sleep یکی از ساده ترین دستورات لینوکس است. برای مکث در اجرای دستور بعدی برای مدت معینی استفاده می شود.
امیدوارم این مقاله براتون مفید بوده باشه.
ما رو تو شتابان هاست دنبال کنید. 🙂