Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

رسالة النجاح

جزء من قسم الأساسيات في رحلة Terminal على Coddy. الدرس 79 من 82.

challenge icon

التحدي

سهل

لنُكمل نصّ النسخ الاحتياطي بإضافة رسالة نجاح نهائية تلخّص ما تم نسخه احتياطيًا.

عدّل backup.sh من أجل:

  1. الإبقاء على جميع التعليمات البرمجية الموجودة من الدرس السابق (ملف backup.sh الموجود في مساحة العمل لديك هو ذلك الإصدار، كما هو موضح أدناه)
  2. بعد رسالة "Files copied successfully"، أضف سطرًا نهائيًا للتلخيص
  3. اطبع: Backup complete: [source_dir] -> [backup_dir]

كان النص البرمجي في نهاية الدرس السابق كما يلي:

#!/bin/bash
read -p "Enter directory to backup: " source_dir
echo "Backing up: $source_dir"
backup_dir="backup_$(date +%Y%m%d_%H%M%S)"
mkdir "$backup_dir"
echo "Created backup folder: $backup_dir"
cp "$source_dir"/* "$backup_dir"/
echo "Files copied successfully"

أسرع طريقة لتعديله هي إعادة كتابة الملف بأكمله باستخدام cat > backup.sh << 'EOF' ... EOF، مع إضافة السطر الجديد قبل EOF الختامي.

شغّل النص البرمجي وأدخل documents عند مطالبتك بذلك. يجب أن يبدو الناتج كما يلي:

Backing up: documents
Created backup folder: backup_20240115_143052
Files copied successfully
Backup complete: documents -> backup_20240115_143052

سيختلف الطابع الزمني في ناتجك وفقًا للتاريخ والوقت الحاليين.

تهانينا! لقد أنشأت نصًا برمجيًا كاملًا للنسخ الاحتياطي يقوم بما يلي:

  • يطالب المستخدم بإدخال مجلد مصدر
  • ينشئ مجلد نسخ احتياطي يحمل طابعًا زمنيًا
  • ينسخ جميع الملفات إلى النسخة الاحتياطية
  • يقدّم ملاحظات واضحة في كل خطوة

تلميح: أضف echo "Backup complete: $source_dir -> $backup_dir" في نهاية النص البرمجي لعرض رسالة التلخيص النهائية.

جرّب بنفسك

الطرفية
cat > backup.sh << 'EOF'
#!/bin/bash
echo "Enter folder to backup:"
read folder
echo "Backing up: $folder"
timestamp=$(date +%Y%m%d_%H%M%S)
backup_dir="backup_$timestamp"
mkdir "$backup_dir"
echo "Created backup folder: $backup_dir"
cp "$folder"/* "$backup_dir"/
echo "Files copied successfully"
EOF
chmod +x backup.sh
echo "documents" | bash backup.sh

جميع دروس الأساسيات

تدرّب بنفسك: Playground لـ Terminal