تطبيق: نسخ آمن
Safe Copy Walkthrough
تطبيق: نسخ آمن — Safe Copy Walkthrough
في هذا التطبيق سنبني سكربتاً صغيراً لنسخ ملف من مصدر إلى هدف. النسخ نفسه أمر واحد: cp "$source" "$target". لكن السكربت الجيد لا يبدأ بالنسخ. يبدأ بفهم المدخلات والتحقق منها وطباعة خطة واضحة. هذه هي عقلية Bash الآمن: الأمر الخطير يأتي في النهاية، بعد أن تكون الشروط واضحة.
سنفترض أن السكربت يستقبل مصدر وهدف. إذا كان المصدر غير موجود أو ليس ملفاً عادياً، نطبع رسالة خطأ ونخرج. إذا كان الهدف فارغاً، نرفض. في نسخة تعليمية سنجعل السكربت يطبع الخطة فقط، ثم نوضح أين يوضع cp. هذه طريقة مناسبة عند كتابة أدوات تشغيلية: أضف --dry-run أو ابدأ بطباعة الخطة قبل التنفيذ الحقيقي.
النسخة التعليمية
لاحظ أن أمر cp معلق. في درس أو في dry-run هذا مقصود. عندما تجعل التنفيذ حقيقياً، تأكد أن مجلد الهدف موجود وأنك لا تستبدل ملفاً مهماً بدون قصد. يمكن استخدام cp -n لمنع الاستبدال، أو التحقق بـ[[ -e "$target_file" ]] قبل النسخ.
لماذا هذا أفضل؟
لأن الخطأ يصبح قريباً من سببه. لو لم يوجد المصدر، تظهر رسالة واضحة. لو كان المسار يحتوي مسافات، الاقتباس يحميك. لو أردت مراجعة الخطة، المخرجات تعرض المصدر والهدف قبل أي تغيير.