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

سرور مجازی NVMe

اسکریپت های پوسته تعاملی whiptail

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


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

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

نصب whiptail

whiptail را با استفاده از دستور زیر نصب کنید:

$ سودو apt نصب دم شلاقی

جعبه های دم شلاقی

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

1. جعبه پیام

یک جعبه پیام پیامی را به خواننده نمایش می دهد و فقط یک دکمه OK دارد زیرا نیازی به پاسخ نیست. علاوه بر این، اجرای اسکریپت تنها یک بار می تواند ادامه یابد که دکمه enter فشرده شود.

$ دم شلاقی –msgbox “نمونه ای از جعبه پیام. برای ادامه OK را فشار دهید.” 10 50

10 و 50 نشان دهنده عرض و ارتفاع است.

اسکریپت های پوسته تعاملی whiptail

2. جعبه بله/خیر

جایی که باید پاسخ کاربر را با یکی از a دریافت کنید آره یا خیر قبل از ادامه، از – استفاده کنیدبله خیر گزینه.

می‌توانید یک اسکریپت Bash مانند شکل زیر ایجاد کنید، سپس آن را ذخیره کنید، آن را قابل اجرا کنید و اجرا کنید:

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

در اینجا جعبه بله/خیر دم شلاقی است.

پیشنهاد می‌کنیم بخوانید:  Bash while Loop روی یک خط

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

خروجی که نمایش می دهد روی را terminal بستگی دارد روی آنچه کاربر انتخاب می کند

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

3. جعبه متن

شما می توانید محتویات یک فایل را با استفاده از یک جعبه متن نمایش دهید. اگر محتوای فایل زیاد است و نیاز به پیمایش دارید، می توانید –متن پیمایشی گزینه.

در مورد ما، ما یک پرونده را باز خواهیم کرد، whiptail.txt.

$ دم شلاقی — جعبه متن –scrolltext whiptail.txt 10 50

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

برای بستن کادر متن، پس از برجسته شدن دکمه OK، روی کلید enter کلیک کنید.

4. نوار پیشرفت

نحو ایجاد نوار پیشرفت به صورت زیر است:

$ –پیمانه <متن> <ارتفاع> <عرض> <درصد>

شما باید نام نوار پیشرفت و درصد را مشخص کنید. سپس، محل شروع شمارنده را درج کنید. در مورد ما، شمارنده ما از 0 تا 100 شروع می شود. از حلقه while برای افزایش شمارنده 15 استفاده می کنیم و زمان خواب را 1 ثانیه قبل از افزایش بعدی تنظیم می کنیم.

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

نوار پیشرفت باید مانند تصویر زیر باشد:

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

5. جعبه رمز عبور

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

$ دم شلاقی –عنوان “رمز عبور خود را وارد کنید” –جعبه رمز عبور “یک رمز عبور قوی انتخاب کنید” 10 50

عنوان گزینه عنوانی را به کادر whiptail اضافه می کند.

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

پس از وارد کردن رمز عبور و زدن دکمه OK، رمز وارد شده نمایش داده می شود روی خط فرمان

6. جعبه ورودی

می‌توانید هنگام نوشتن یک اسکریپت ورودی کاربر را دریافت کرده و آن را برای استفاده در موارد دیگر ذخیره کنید. با این حال، whiptail ورودی را به stderr. بنابراین، برای نمایش باید جهت ورودی را برعکس کنید روی را stdout بجای. برای رسیدن به آن، باید اضافه کنید 3>&1 1>&2 2>&3.

بیایید یک اسکریپت Bash ایجاد کنیم که از کاربران می‌خواهد نام خود را وارد کنند و سپس آن را با یک پیام خوش آمدگویی با استفاده از یک جعبه پیام نمایش دهند.

پیشنهاد می‌کنیم بخوانید:  روش استفاده از دستورات Bash "If -Z" و "If -N" برای تست رشته

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

اسکریپت را اجرا کنید. خروجی باید ابتدا یک جعبه ورودی و سپس یک جعبه پیام باشد.

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

کادر پیام نام وارد شده را نمایش می دهد.

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

7. جعبه منو

کاربر فقط باید کلید enter را برای نوار منو فشار دهد تا یک آیتم منو را انتخاب کند. علاوه بر این، هیچ مورد پیش فرض تنظیم نمی شود. مورد انتخاب شده به stderr برمی گردد.

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

خروجی خواهد بود:

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

8. جعبه رادیولیست

هنگامی که کاربر نیاز به انتخاب تنها یک گزینه دارد، می توانید از رادیو لیست استفاده کنید.

ما لیستی از گزینه ها را ایجاد می کنیم که کاربر فقط می تواند یکی را انتخاب کند. مورد انتخاب شده نمایش داده خواهد شد روی خط فرمان را فشار دهید نوار Space و سپس کلید enter را بزنید تا یک مورد انتخاب شود.

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

خروجی نمایش داده خواهد شد روی خط فرمان زیر:

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

9. جعبه چک لیست

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

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

جعبه نمایش چک لیست ما:

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

خروجی:

اسکریپت های پوسته تعاملی whiptailاسکریپت های پوسته تعاملی whiptail

نتیجه

whiptail جعبه های گفتگوی مختلفی را برای فعالیت های مختلف به شما ارائه می دهد. در این مقاله، بیشتر جعبه های دم شلاقی را که می توانید استفاده کنید، پوشش داده ایم. روش انتخاب شما برای نمایش خروجی اسکریپت ها کاملاً مبتنی است روی ترجیح شما با این حال، می توانید از خط فرمان یا جعبه های whiptail استفاده کنید به شرطی که برای شما کار کند. همچنین، مرد دم شلاقی را بررسی کنید page و وب سایت LinuxHint برای نکات بیشتر.

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

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

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

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

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