یک اسکریپت bash بنویسید که پارامترهای خط فرمان را پردازش کند: نام فایل اجباری، تعداد خطوط برای نمایش (اختیاری، پیشفرض 10) و گزینهٔ اختیاری -r برای نمایش خطوط به صورت معکوس؛ اسکریپت باید پارامترها را اعتبارسنجی و در صورت ورودی نادرست پیام راهنما نمایش دهد.
4.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:59 0.0
برای حل این مسئله از getopts برای پردازش گزینهٔ -r و از آرگومانهای موقعیتی ($1، $2 و ...) برای نام فایل و تعداد خطوط استفاده کنید. مقدار پیشفرض شمارش را 10 قرار دهید، وجود و خوانایی فایل را با تستهایی مانند [ -f "$file" ] و [ -r "$file" ] بررسی کنید، و با یک عبارت منظم ([[ $count =~ ^[0-9]+$ ]]) اعتبار عددی را کنترل کنید. برای نمایش خطوط از head/tail یا برای معکوس کردن میتوانید از tac (یا در صورت نبودن از یک تکه awk) استفاده کنید؛ همچنین یک تابع usage بنویسید تا در صورت پارامتر اشتباه پیام خطا و نحوهٔ استفاده را چاپ کند.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای بهبود اعتبارسنجی پارامترها، بعد از پردازش گزینههای -r با getopts، فایل اجباری و مقدار شمارش را با [ -f "$file" ] و [[ $count =~ ^[0-9]+$ ]] بررسی کنید. اگر فایل وجود یا قابل خواندن نبود یا شمارش نامعتبر بود، دستور usage را چاپ کنید تا کاربر راهنمایی شود. برای نمایش خطوط با reverse، tac یا معادل awk را به کار ببرید و مقدار پیشفرض شمارش را 10 قرار دهید تا در صورت نبود مقدار خروجی مناسب باشد. همچنین به حالتهای edge مانند -r بدون فایل یا مقدار منفی توجه کنید و پیغام خطا را واضح و قابل فهم نمایش دهید.
گزارش