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

سرور مجازی NVMe

روش ایجاد یک منو Bash Script

0 19

سرفصلهای مطلب

زمان لازم برای مطالعه: 4 دقیقه


در اسکریپت های Bash، به نظر می رسد راه های مختلفی برای پذیرش داده ها از کاربر وجود دارد. اجازه دادن به شرکت کنندگان برای وارد کردن ورودی، روی از سوی دیگر، ممکن است باعث برخی مشکلات شود. مشکل اصلی یکپارچگی داده است که نیاز به در نظر گرفتن تمام ورودی های بالقوه دارد. ایجاد یک پنل چند گزینه ای برای کد Bash یک راه ساده برای حل همه این موارد است. برای استفاده از این رویکرد، می‌توانید مجموعه‌ای از انتخاب‌های ساده و از پیش تعریف‌شده بسازید که کاربر بتواند از میان آن‌ها انتخاب کند. در این آموزش مختصر، ما به روش ایجاد یک منوی گزینه های متعدد در اسکریپت های Bash برای استفاده از ساختار انتخابی و بند های case از طریق سیستم اوبونتو 20.04 نگاه خواهیم کرد. terminal.

مثال 01

ابتدا، بیایید یک مثال ساده برای توضیح بیشتر داشته باشیم و ببینیم که چگونه یک کاربر می تواند یک منو در آن ایجاد کند bash اسکریپت در سیستم اوبونتو 20.04. ما در را باز کرده ایم terminal پوسته با کمک میانبر دستور “Ctrl+Alt+T”. روی صفحه دسکتاپ اوبونتو 20.04 این terminal چند ثانیه دیگر باز می شود

بعد از terminal با موفقیت راه اندازی شد، یک جدید ایجاد کنید bash فایلی با نام “menu.sh” با استفاده از دستورالعمل “touch” برای این منظور. ما آن را در یک باز کرده ایم GNU ویرایشگر نانو با استفاده از دستور “nano” در پوسته مطابق تصویر خروجی زیر.

منوی $ را لمس کنید.sh
$ nano menu.sh

روش ایجاد یک منو Bash Script

همانطور که فایل در ویرایشگر نانو باز می شود، اجازه دهید a را ایجاد کنیم bash کد برای ایجاد یک منو ابتدا، را اضافه کنید bash پشتیبانی در بالای یک فایل، به عنوان مثال، “#!/bin/bash”. متغیر داخلی “PS3” در اینجا استفاده شده است تا از کاربر بخواهد انتخاب خود را وارد کند.

متغیر شماره انتخاب کاربر را ذخیره می کند و از آن در ساختار انتخاب استفاده می کند. سپس، از ساختار “انتخاب” استفاده می کنیم تا مقدار را از آرایه ای از رشته ها با استفاده از شماره شاخص، یعنی انتخاب انتخاب شده توسط کاربر، بدست آوریم. اگر انتخاب مطابقت داشته باشد، دستور do مقدار انتخاب شده توسط کاربر را نمایش می دهد و شماره شاخصی را که کاربر انتخاب کرده است نمایش می دهد. روی را terminal. در اینجا از تکرار کننده متغیر “$i” برای بدست آوردن مقدار استفاده می شود و از متغیر داخلی “$REPLY” برای دریافت گزینه index استفاده می شود.

پیشنهاد می‌کنیم بخوانید:  دستور Bash trap

روش ایجاد یک منو Bash Scriptروش ایجاد یک منو Bash Script

تازه ایجاد شده خود را ذخیره کنید bash با استفاده از کلید “Ctrl+S” در فایل کد کنید و با میانبر “Ctrl+X” از فایل خارج شوید. در حال حاضر به ما بازگردانده شده است terminal. بیایید جدید ساخته شده را اجرا کنیم bash برای دیدن نتایج فایل کنید

برای این کار از «bashدستور ” به همراه نام یک فایل به صورت زیر. خروجی 5 گزینه را نشان می دهد terminal اولین. کاربر باید یکی از آنها را انتخاب کند. بار اول، کاربر 3 را انتخاب کرد و “William” را به عنوان یک مقدار دریافت کرد، و بار دوم با وارد کردن مقدار 1 در قسمت “John” دریافت کرد. terminal پوسته به عنوان ورودی از طریق میانبر “Ctrl+Z” از اجرا خارج شوید.

$ bash menu.sh

روش ایجاد یک منو Bash Scriptروش ایجاد یک منو Bash Script

مثال 02

همانطور که می بینید، مثال بالا گزینه خروج از منو را در مورد انتخاب یک گزینه پوشش نمی دهد. بنابراین، در مثال بعدی، گزینه های ترک را نیز پوشش خواهیم داد. برای به روز رسانی کد، آن را باز کنید bash فایل “menu.sh”. پس از باز کردن آن، نیازی به تغییر آن نیست bash پشتیبانی و متغیر “PS3” زیرا به همان صورت استفاده خواهند شد.

از طرف دیگر، باید خطوط کد اضافی اضافه کنید. ما یک منو ایجاد خواهیم کرد تا به کاربران خود اجازه انجام عملیات ریاضی را بدهیم. برای این منظور، از دستورات case در ساختار “انتخاب” استفاده می کنیم. پس از متغیر “PS3″، لیستی از رشته ها را با 5 مقدار مختلف در آن اعلام کرده ایم. هر یک از مقادیر یک لیست نشان دهنده 1 عملیات ریاضی است.

می بینید که لیست شامل گزینه “خروج” برای خروج از منو پس از انتخاب توسط کاربر است. لیست به عنوان منو استفاده خواهد شد. ساختار select در اینجا استفاده می شود. این ساختار انتخابی از مقدار، به عنوان مثال، مقدار “PS3” برای جستجوی گزینه از یک لیست، به عنوان مثال، “cal” استفاده می کند.

روش ایجاد یک منو Bash Scriptروش ایجاد یک منو Bash Script

پس از جستجوی گزینه از یک لیست، گزینه case با گزینه های لیست شده شماره فهرست تطبیق داده می شود. سپس گزینه خاص از دستور case اجرا می شود و محاسبه انجام می شود. اگر کاربر 1 را وارد کند، مورد “Sum” اجرا می شود. در هر مورد، از دو دستور خواندن برای انجام محاسبات استفاده شده است. پس از آن، دستور echo از هر دو متغیر برای انجام عملیات مورد نیاز استفاده می کند روی هم متغیرها و هم نمایشگر. پرونده جمع در اینجا بسته می شود و سایر پرونده ها شروع می شود.

پیشنهاد می‌کنیم بخوانید:  تفاوت بین Printf و Echo در Bash چیست؟

اگر کاربر عدد 2 را وارد کند، مورد “Submit” برای محاسبه تفریق دو عدد صحیح وارد شده توسط کاربر با استفاده از عملگر “-” اجرا می شود. گزینه “Div” زمانی اجرا می شود که کاربر عدد 3 را به عنوان گزینه وارد کرده و هر دو عدد صحیح را با استفاده از علامت “/” تقسیم کند. 4هفتم زمانی که کاربر 4 را به عنوان ورودی اضافه می کند، گزینه فراخوانی می شود و ضرب با استفاده از عملگر “*” انجام می شود.

روش ایجاد یک منو Bash Scriptروش ایجاد یک منو Bash Script

در نهایت، دستور select زمانی که کاربر عدد 5 را به عنوان ورودی خود وارد می کند، حالت Quit را اجرا می کند. Quit case پیام موجود بودن منو را نمایش می دهد و اجرای کد را با کمک کلمه کلیدی break در آن متوقف می کند. اگر کاربر شماره گزینه را اشتباه وارد کند، یعنی غیر از 1 تا 5، این پیام را نشان می دهد که کاربر گزینه نامعتبر را وارد کرده است.

روش ایجاد یک منو Bash Scriptروش ایجاد یک منو Bash Script

وقتی کد را اجرا می کنید، 5 گزینه منو را نشان می دهد. کاربر 1 را به عنوان انتخاب خود اضافه کرد و وارد حالت “Sum” شد. سپس دو عدد صحیح اضافه کرد و مجموع هر دو محاسبه شد. بنابراین، تمام گزینه های دیگر انجام شده است. در نهایت، گزینه خروج برای خروج از منو فراخوانی شد.

$ bash menu.sh

روش ایجاد یک منو Bash Scriptروش ایجاد یک منو Bash Script

نتیجه

این مقاله شامل تصاویر بسیار ساده و قابل درک برای ایجاد یک منو در terminal با کمک الف bash اسکریپت ما از ساختار انتخاب، عبارات مورد، متغیر PS3 و لیست برای دستیابی به نتیجه کیفی استفاده کرده ایم.

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

زمان انتشار: 1402-12-30 07:46:05

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

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

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