یک اسکریپت Bash بنویسید که یک نام میزبان یا آدرس IP را به عنوان آرگومان بگیرد، 4 بسته پینگ ارسال کند و بر اساس خروجی اعلام کند میزبان در دسترس است یا خیر و میانگین زمان پاسخ را نمایش دهد و اگر گزینه -t داده شود مسیر traceroute را نیز نمایش دهد.
12.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:58 0.0
برای حل این مسئله از فرمان ping با گزینه -c 4 برای ارسال چهار بسته استفاده کنید و خروجی یا کد بازگشتی فرمان را بررسی کنید تا معلوم شود میزبان در دسترس است یا خیر. برای استخراج میانگین زمان پاسخ میتوانید خروجی خطی مانند "rtt min/avg/max/mdev" را با ابزارهایی مثل awk یا sed جدا کنید (مثلاً awk -F'/' '{print $5}' برای گرفتن مقدار avg). برای پشتیبانی از گزینه -t از getopts استفاده کنید و در صورت فعال بودن آن دستور traceroute را اجرا کنید؛ قبل از اجرای traceroute بهتر است وجود آن را با which یا command -v بررسی کنید. در نظر بگیرید خطاها را مدیریت کنید (آرگومان ورودی نداشتن، دسترسی نداشتن به دستورها) و پیامهای کاربرپسند چاپ کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته کلیدی این است که خروجی ping بین سیستمهای مختلف متفاوت است و برای استخراج دقیق میانگین زمان پاسخ باید به فرمت خطی معتبر در سیستم هدف توجه کرد. برای پشتیبانی از -t از getopts استفاده کنید و در صورت فعال بودن آن وجود traceroute را با command -v یا which بررسی کنید و در غیر این صورت پیام کاربرپسند بدهید. همچنین خطاهای ورودی یا نبود دسترسی به ping/traceroute را به کاربر گزارش دهید تا اسکریپت قابل اعتماد باشد. در خروجی نهایی، وضعیت در دسترس بودن را بهروشنی نشان دهید و میانگین زمان پاسخ را به واحد میلیثانیه چاپ کنید.
گزارش