یک اسکریپت Bash بنویسید که دو آرگومان بگیرد (مسیر مبدا و مسیر مقصد) و یک لینک نمادین از مبدا به مقصد ایجاد کند؛ اگر در مسیر مقصد یک لینک نمادین وجود داشت آن را حذف کند و در غیر این صورت پیام خطا مناسب نمایش دهد.

3.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:24

0.0

برای حل این مسئله از دستورات پایه شل مانند ln -s برای ایجاد لینک نمادین و rm برای حذف استفاده کنید؛ قبل از ایجاد لینک با [ -L "$dest" ] بررسی کنید که آیا مقصد یک لینک نمادین موجود است و در صورت وجود آن را حذف کنید، همچنین ورودی‌ها را با بررسی تعداد آرگومان‌ها و وجود فایل/دایرکتوری مبدا اعتبارسنجی کنید. نکات: readlink -f برای گرفتن مسیر کامل مفید است، ln -sf می‌تواند به جای حذف صریح استفاده شود اما بهتر است برای شفافیت ابتدا وجود لینک را بررسی و سپس حذف یا جایگزینی را انجام دهید.

توسط پژوهشگر در 221 روز قبل ساعت 01:24
دسته بندی ها: Bash Scripting Bash Scripting for beginner
sara در 221 روز قبل ساعت 13:23

برای پایداری، دو آرگومان را چک کنید و با readlink -f مسیر کامل مبدا را به دست بیاورید تا صحت مسیر روشن باشد. اگر [ -L "$dest" ] بود، لینک نمادین موجود در مقصد را با rm -f حذف کرده و سپس لینک جدید را ایجاد کنید. در غیر این صورت پیام خطای مناسبی نمایش دهید تا کاربر بفهمد که مقصد یک لینک نمادین نیست یا وجود ندارد. بهینه‌سازی: می‌توانید از ln -sf در مواقع خاص استفاده کنید، اما بهتر است ابتدا وضعیت را بررسی کنید تا رفتار واضح و قابل پیش‌بینی باشد.

گزارش

1 پاسخ

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

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