یک اسکریپت تعاملی با Bash بنویسید که از کاربر یک عدد صحیح بین 1 تا 100 بپرسد و ورودی را با حداکثر 3 تلاش بررسی کند و در صورت ورود صحیح پیام موفقیت و در صورت شکست پیام خطا چاپ کند.

4.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:49

0.0

از read برای دریافت ورودی، یک حلقه (while یا for) برای محدود کردن تعداد تلاش‌ها و بررسی‌های ورودی با [[ -z "$var" ]] برای خالی نبودن، [[ $var =~ ^[0-9]+$ ]] برای عدد بودن و تست‌های عددی (( )) یا -ge/-le برای محدوده استفاده کنید؛ می‌توانید ورودی را با حذف فاصله‌ها trim کنید و در هر تلاش پیام خطای مناسب چاپ کنید و در پایان با exit کد مناسب بازگردانید. راهکارهای مفید: استفاده از توابع برای جدا کردن منطق اعتبارسنجی، چاپ پیام‌های خطا روی stderr و جلوگیری از پذیرش اعداد اعشاری یا متن‌های خالی.

توسط پژوهشگر در 220 روز قبل ساعت 01:49
دسته بندی ها: Bash Scripting Bash Scripting for beginner
reyhaneh در 220 روز قبل ساعت 11:56

برای دریافت ورودی از کاربر از read -r استفاده کن تا از تفسیر بک‌اسل‌ها جلوگیری شود و فضاهای اطراف را با یک روش ساده trim کن. در یک حلقه حداکثر سه‌بار تلاش کن و هر بار با [[ -n "$var" ]] و [[ $var =~ ^[0-9]+$ ]] بررسی کن که مقدار عددی است و با ((var>=1 && var<=100)) در بازه تعریف‌شده قرار دارد. اگر نامعتبر بود، پیام خطای مناسب روی stderr چاپ کن و اگر معتبر بود پیام موفق چاپ کن و برنامه را با کد خروجی مناسب به پایان بَر. برای نگهداری بهتر، منطق اعتبارسنجی را در یک تابع جدا بنویس تا کد خواناتر و تست‌پذیرتر بماند.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری