وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

Bash منتظر فشار کلید باشید

0 1
زمان لازم برای مطالعه: < 1 دقیقه


دستور “خواندن” برای گرفتن ورودی کاربر در a استفاده می شود bash اسکریپت ما می توانیم ورودی داشته باشیم bash اسکریپت با استفاده از انواع مختلف گزینه ها با دستور خواندن. گاهی اوقات لازم است اسکریپت را به گونه ای بنویسیم که اسکریپت اجرا شود تا زمانی که کلید خاصی فشار داده شود یا اسکریپت خاص بر اساس آن اجرا شود. روی کلید خاص یا برنامه برای مدت زمان مشخصی منتظر می ماند تا هر کلیدی فشار داده شود. چگونه می توانید بنویسید bash اسکریپت منتظر ماندن برای هر کلید خاص یا هر کلیدی برای برخی کارها در این آموزش با استفاده از مثال های مختلف نشان داده شده است.

مثال شماره 1:

ایجاد یک bash فایل با اسکریپت زیر هنگامی که اسکریپت را اجرا می کنید، تا زمانی که کاربر کلیدی را فشار دهد ادامه خواهد داشت. اسکریپت در هر 3 ثانیه منتظر ورودی کاربر می ماند و اگر کاربر هیچ کلیدی را فشار ندهد، این کار را انجام می دهد. print پیام، “منتظر فشار کلید“.

#!/صندوقچه/bash
echo “کلیدی را برای ادامه فشار دهید”
در حالی که [ true ] ; انجام دادن
خواندن -t 3 -n 1
اگر [ $? = 0 ] ; سپس
خروج ;
دیگر
echo “در انتظار فشار دادن کلید”
فی
انجام شده

اسکریپت را اجرا کنید.

$ bash key1.sh

خروجی:

Bash منتظر فشار کلید باشید

مثال شماره 2:

ایجاد یک bash فایل با اسکریپت زیر در این مثال از یک حلقه while بی نهایت استفاده شده است که با فشار دادن ‘q’ توسط کاربر به پایان می رسد. اگر کاربر هر کلیدی را بدون ‘q’ فشار دهد، مقدار متغیر شمارنده 1 و افزایش می یابد print ارزش.

#!/صندوقچه/bash
echo “q” را برای خروج فشار دهید”
شمردن=0
در حالی که : انجام دادن
خواندن -n 1 ک <&1
اگر [[ $k = q ]] ; سپس
printf \nخروج از برنامه\n
زنگ تفریح
دیگر
((شمردن=$count+1))
printf \nتکرار برای $count بار\n
echo “q” را برای خروج فشار دهید”
فی
انجام شده

اسکریپت را اجرا کنید.

$ bash key2.sh

خروجی:

پیشنهاد می‌کنیم بخوانید:  روش استفاده از کلاس های کاراکتر sed

Bash منتظر فشار کلید باشیدBash منتظر فشار کلید باشید

مثال شماره 3:

ایجاد یک bash فایل با اسکریپت زیر که انواع مختلفی از وظایف را بر اساس انجام می دهد روی کلید فشار داده شده توسط کاربر اگر کاربر ‘1’ را فشار دهد، دو آرگومان خط فرمان و print. اگر کاربر ‘2’ را فشار دهد، دو آرگومان خط فرمان را کم می کند و print. اسکریپت به طور مداوم اجرا می شود تا زمانی که کاربر “3” را فشار دهد.

#!/صندوقچه/bash
v1=1 دلار
v2=2 دلار
در حالی که :
انجام دادن
echo “1. اضافه”
echo “2. تفریق”
echo “3. ترک”
echo -n “نوع 1 یا 2 یا 3:”
خواندن -n 1 -t 15 آ
printf \n
مورد $a که در
1* ) echo $ v1 + $ v2 = $(($v1+$v2))”;;

2* ) echo $ v1$ v2 = $(($v1-$v2))”;;

3* ) خروج 0;;

* ) echo “دوباره امتحان کن.”;;
اساک
انجام شده

اسکریپت را با دو مقدار آرگومان عددی اجرا کنید.

$ bash key3.sh 35 15

خروجی:

Bash منتظر فشار کلید باشیدBash منتظر فشار کلید باشید

مثال شماره 4:

ایجاد یک bash فایل با اسکریپت زیر زمانی که کاربر کلید ESC را فشار دهد اسکریپت خاتمه می یابد. این اسکریپت خواهد شد print کلیدهایی که توسط کاربر فشار داده می شود تا زمانی که کلید ESC فشار داده شود.

#!/صندوقچه/bash
ورودی کاربر=“”
echo “کلید ESC را برای خروج فشار دهید”
# یک کاراکتر را بخوانید
در حالی که خواندن -r -n1 کلید
انجام دادن
# if ورودی == کلید ESC
اگر [[ $key == $‘\e’ ]];
سپس
زنگ تفریح;
فی
# کلید را به متغیری که توسط کاربر فشار داده می شود اضافه کنید.

userinput+=کلید $
انجام شده
printf \nشما تایپ کرده اید: $userinput\n

پیشنهاد می‌کنیم بخوانید:  چگونه اندازه یک فایل را در اسکریپت Bash بدست آوریم

اسکریپت را اجرا کنید.

$ bash key4.sh

خروجی:

Bash منتظر فشار کلید باشیدBash منتظر فشار کلید باشید

مثال شماره 5:

ایجاد یک bash فایلی با کد زیر که منتظر می ماند تا کلید ENTER اسکریپت را خاتمه دهد. اسکریپت یک نام سرور را به عنوان ورودی می گیرد و سعی می کند هر 2 ثانیه سرور را پینگ کند. اگر دستور ping پاسخ را از سرور دریافت کند، اسکریپت را با نمایش خروجی خاتمه می دهد در غیر این صورت با چاپ پیام “تلاش برای اتصال با…” منتظر پاسخ کاربر یا کلید ENTER می ماند.

#!/صندوقچه/bash
echo “آدرس سروری را که می خواهید پینگ کنید وارد کنید”
خواندن سرور
در حالی که ! پینگ 1 -n -دبلیو 2 سرور $
انجام دادن
echo “تلاش برای ارتباط با سرور $
echo “مطبوعات [ENTER] خاتمه دادن”
خواندن -s 1 -t 1 کلید
اگر [[ $key == $‘\x0a’ ]]; # if ورودی == کلید ENTER
سپس
خروج 0
فی
انجام شده
printf “%s\n سرور $ در حال اجراست”

اسکریپت را اجرا کنید.

$ bash key5.sh

خروجی:

Bash منتظر فشار کلید باشیدBash منتظر فشار کلید باشید

نتیجه:

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

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-31 23:31:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید