یک اسکریپت 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 بررسی کنید. در نظر بگیرید خطاها را مدیریت کنید (آرگومان ورودی نداشتن، دسترسی نداشتن به دستورها) و پیام‌های کاربرپسند چاپ کنید.

توسط پژوهشگر در 201 روز قبل ساعت 03:58
دسته بندی ها: Bash Scripting Bash Scripting for beginner
nima در 201 روز قبل ساعت 04:31

نکته کلیدی این است که خروجی ping بین سیستم‌های مختلف متفاوت است و برای استخراج دقیق میانگین زمان پاسخ باید به فرمت خطی معتبر در سیستم هدف توجه کرد. برای پشتیبانی از -t از getopts استفاده کنید و در صورت فعال بودن آن وجود traceroute را با command -v یا which بررسی کنید و در غیر این صورت پیام کاربرپسند بدهید. همچنین خطاهای ورودی یا نبود دسترسی به ping/traceroute را به کاربر گزارش دهید تا اسکریپت قابل اعتماد باشد. در خروجی نهایی، وضعیت در دسترس بودن را به‌روشنی نشان دهید و میانگین زمان پاسخ را به واحد میلی‌ثانیه چاپ کنید.

گزارش

1 پاسخ

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

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