یک اسکریپت 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 ممکن است فایل‌های واقعی را بازنویسی کند، پس قبل از حذف یا بازنویسی مقایسه مسیرها را انجام بده.

توسط پژوهشگر در 201 روز قبل ساعت 03:46
دسته بندی ها: Bash Scripting Bash Scripting for beginner
arman در 201 روز قبل ساعت 05:18

برای ساخت لینک نمادین از ln -s استفاده کن، اما قبل از بازنویسی وجود لینک یا مقصد فعلی را با [ -L "$link" ] یا readlink -f بررسی کن. اگر لینک وجود دارد و به مسیر متفاوتی اشاره می‌کند، لینک را حذف کن و با هدف جدید دوباره بساز تا به‌روز شود. قبل از ایجاد لینک، والد دایرکتوری لینک را با mkdir -p "$(dirname "$link")" بساز تا خطا ندهد. توجه کن که استفاده از -f در ln می‌تواند فایل‌های واقعی را بازنویسی کند، پس مقایسه‌های مسیرها را انجام بده و در صورت نیاز از روش امن‌تری استفاده کن.

گزارش

1 پاسخ

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

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