یک اسکریپت تعاملی با Bash بنویسید که از کاربر یک عدد صحیح بین 1 تا 100 بپرسد و ورودی را با حداکثر 3 تلاش بررسی کند و در صورت ورود صحیح پیام موفقیت و در صورت شکست پیام خطا چاپ کند.
4.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:49 0.0
از read برای دریافت ورودی، یک حلقه (while یا for) برای محدود کردن تعداد تلاشها و بررسیهای ورودی با [[ -z "$var" ]] برای خالی نبودن، [[ $var =~ ^[0-9]+$ ]] برای عدد بودن و تستهای عددی (( )) یا -ge/-le برای محدوده استفاده کنید؛ میتوانید ورودی را با حذف فاصلهها trim کنید و در هر تلاش پیام خطای مناسب چاپ کنید و در پایان با exit کد مناسب بازگردانید. راهکارهای مفید: استفاده از توابع برای جدا کردن منطق اعتبارسنجی، چاپ پیامهای خطا روی stderr و جلوگیری از پذیرش اعداد اعشاری یا متنهای خالی.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای دریافت ورودی از کاربر از read -r استفاده کن تا از تفسیر بکاسلها جلوگیری شود و فضاهای اطراف را با یک روش ساده trim کن. در یک حلقه حداکثر سهبار تلاش کن و هر بار با [[ -n "$var" ]] و [[ $var =~ ^[0-9]+$ ]] بررسی کن که مقدار عددی است و با ((var>=1 && var<=100)) در بازه تعریفشده قرار دارد. اگر نامعتبر بود، پیام خطای مناسب روی stderr چاپ کن و اگر معتبر بود پیام موفق چاپ کن و برنامه را با کد خروجی مناسب به پایان بَر. برای نگهداری بهتر، منطق اعتبارسنجی را در یک تابع جدا بنویس تا کد خواناتر و تستپذیرتر بماند.
گزارش