Créer le Dossier de Sauvegarde
Fait partie de la section Les fondamentaux du Journey Terminal de Coddy. Leçon 76 sur 82.
Défi
FacileMaintenant, étendons le script de sauvegarde pour créer un dossier de sauvegarde dans lequel les fichiers seront stockés.
Réécrivez backup.sh à partir de zéro afin qu'il contienne le script complet et mis à jour. Utilisez > pour la première ligne afin de remplacer le fichier, puis >> pour ajouter chaque ligne suivante :
echo '#!/bin/bash' > backup.sh
echo 'read -p "Enter source directory: " source_dir' >> backup.sh
echo 'echo "Backing up: $source_dir"' >> backup.sh
echo 'backup_dir="backup"' >> backup.sh
echo 'mkdir -p "$backup_dir"' >> backup.sh
echo 'echo "Created backup folder: $backup_dir"' >> backup.shChaque ligne est entourée de guillemets simples afin que le shell écrive littéralement $source_dir et $backup_dir dans le fichier au lieu de les remplacer par leurs valeurs.
Rendez-le ensuite exécutable :
chmod +x backup.shEnfin, exécutez votre script avec documents comme entrée. Ce terminal n'est pas interactif, donc redirigez la réponse dans le script au lieu d'attendre la demande :
echo "documents" | ./backup.shVotre sortie devrait être :
Backing up: documents
Created backup folder: backupVérifiez que le dossier a été créé en exécutant ls pour lister le contenu du répertoire. La sortie devrait afficher le nouveau dossier backup à côté de vos autres fichiers.
Conseil : L'option
-pdansmkdir -pévite les erreurs si le répertoire existe déjà. Assurez-vous d'utiliser des guillemets autour de vos variables (par ex."$backup_dir") pour les manipuler en toute sécurité.
Essayez vous-même
echo '#!/bin/bash' > backup.sh
echo 'read -p "Enter source directory: " source_dir' >> backup.sh
echo 'echo "Backing up: $source_dir"' >> backup.sh
chmod +x backup.sh
echo "documents" | ./backup.shToutes les leçons de Les fondamentaux
4Répertoires
Créer Un RépertoireCopier Un RépertoireDéplacer Et Renommer Un RépertoireSupprimer Un RépertoireRécapitulatif - Opérations Sur Les Répertoires7Contenu de fichier
Head et TailComptage de motsCommande SortCommande UniqBases de GrepGrep avec optionsRécap - Détective de texte10Projet Analyseur de Journaux
Aperçu du ProjetAffichage du Fichier Journal2Navigation
Afficher le répertoire de travailLister les fichiersChanger de répertoireChemins absolus vs relatifsRépertoire personnel et racineRécap - Trouver son chemin5Projet Organiser les Photos
Aperçu du ProjetCréation de la Structure8Redirection
Sortie standardÉcraser vers un fichierAjouter à un fichierEntrée standardErreur standardRécapitulatif - Constructeur de logs11Permissions
Comprendre les permissionsLire les permissionsChmod avec des nombresChmod avec des symbolesPropriété des fichiersRécapitulatif - Verrouillez tout14Projet de Script de Sauvegarde
Aperçu du ProjetObtenir le Chemin Source3Fichiers
Créer Un FichierLire Un FichierCopier Un FichierDéplacer Et Renommer Un FichierSupprimer Un FichierRécapitulatif - Opérations Sur Les Fichiers6Caractères jokers et motifs
Le joker étoileLe joker point d'interrogationJokers entre crochetsCombiner les jokersRécapitulatif - Opérations sélectives9Les pipes
Qu'est-ce qu'une pipe ?Chaîner deux commandesChaîner plusieurs commandesPipe avec GrepRécapitulatif - Pipeline de donnéesEntraînez-vous par vous-même : Playground Terminal