یک اسکریپت Bash بنویس که برای یک فایل یا دایرکتوری مشخص یک لینک نمادین (symbolic link) بسازد و چنانچه لینک با همان نام قبلاً وجود داشت آن را به مسیر جدید بهروزرسانی کند.
14.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:46 0.0
از پارامترهای ورودی برای دریافت مسیر منبع و نام/مسیر لینک استفاده کن (مثلاً $1 و $2). در اسکریپت با تستهایی مثل [ -L "$link" ] یا readlink -f بررسی کن که آیا لینک موجود است؛ در صورت وجود میتوانی آن را با rm یا با ln -sf بازنویسی کنی. ابزارهای مفید: ln -s برای ساخت لینک، readlink برای بررسی مقصد فعلی، test/[] برای چک کردن وجود فایل و mkdir -p برای ایجاد دایرکتوری والد در صورت نیاز؛ توجه کن که استفاده از -f در ln ممکن است فایلهای واقعی را بازنویسی کند، پس قبل از حذف یا بازنویسی مقایسه مسیرها را انجام بده.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای ساخت لینک نمادین از ln -s استفاده کن، اما قبل از بازنویسی وجود لینک یا مقصد فعلی را با [ -L "$link" ] یا readlink -f بررسی کن. اگر لینک وجود دارد و به مسیر متفاوتی اشاره میکند، لینک را حذف کن و با هدف جدید دوباره بساز تا بهروز شود. قبل از ایجاد لینک، والد دایرکتوری لینک را با mkdir -p "$(dirname "$link")" بساز تا خطا ندهد. توجه کن که استفاده از -f در ln میتواند فایلهای واقعی را بازنویسی کند، پس مقایسههای مسیرها را انجام بده و در صورت نیاز از روش امنتری استفاده کن.
گزارش