Projet DVD-MIAGE 2010
TP n°3 : Programmation en shell
Objectif : Concevoir et tester des scripts Bash
Travail à effectuer
Implémentez et testez les exercices étudiés lors du TD n°2.
Assurez-vous de bien commenter vos scripts et de les tester de manière exhaustive pour valider leur fonctionnement.
Exercice A – Tests et observations sur les fichiers
Écrivez un script Bash qui réalise les tests suivants sur un fichier passé en paramètre :
- vérification de l'existence du fichier,
- affichage du type du fichier (répertoire ou fichier ordinaire),
- dans le cas d'un fichier ordinaire :
- vérification que le fichier est non vide,
- affichage des droits d'accès (lecture, écriture et exécution).
Exercice B – Fusion de fichiers texte
Créez un script qui concatène tous les fichiers de type fichier1.txt, fichier2.txt, etc., dans un fichier dont le nom est fourni en paramètre.
Exercice C – Sauvegarde automatique des fichiers
Cet exercice vise à développer un script permettant de sauvegarder tous les fichiers du répertoire courant dans un autre dossier, en ajoutant une indication de la date de sauvegarde au format #année-mois-jour.
Écrivez un script Bash qui copie tous les fichiers du répertoire actuel dans le sous-répertoire OLD, en préfixant leur nom avec la date du jour au format #année-mois-jour. Avant cela, vérifiez l'existence du répertoire OLD et créez-le s'il n'existe pas. Assurez-vous que la création du dossier s'est bien déroulée.
Exemple : si le répertoire courant contient un fichier fich et que le script est exécuté aujourd'hui, il doit copier ce fichier vers OLD/fich#2023-10-05.
FAQ
- Comment tester un script Bash ?
- Utilisez la commande
bash script.shpour exécuter le script. Vérifiez les résultats avec des fichiers d'exemple et des cas limites (fichiers vides, inexistants, etc.). - Comment afficher les droits d'accès d'un fichier ?
- Utilisez la commande
ls -l nom_du_fichierpour voir les permissions. Dans un script, vous pouvez exploiterstat -c "%A" nom_du_fichierpour obtenir une représentation lisible. - Comment gérer les erreurs dans un script Bash ?
- Ajoutez des vérifications avec
if [ ! -e fichier ]; then echo "Erreur : fichier inexistant"; exit 1; fi. Utilisezset -epour arrêter le script en cas d'erreur.