ECRITURE DE SCRIPTS EN SHELL BASH

Introduction

Durant cette séance, nous allons écrire trois scripts en shell bash. Le détail de la syntaxe à utiliser pour écrire un script est donné en annexe 1 « Programmation en Shell bash ».

Pour chaque script, il faudra donner :

Ecriture de scripts

Préparation

Créer un sous dossier nommé scripts dans votre dossier principal, puis se placer dans celui-ci afin de répondre aux questions suivantes.

Script nommé liste_params.sh

  1. En vous aidant de l'annexe 1, créer un script nommé liste_params.sh qui réalise les actions suivantes :
  2. Tester le script nommé liste_params.sh en lui passant au moins 2 paramètres.

Script nommé test_params.sh

  1. En vous aidant de l'annexe 1, créer un script nommé teste_params.sh qui réalise les actions suivantes :
  2. Tester le script nommé teste_params.sh en lui passant 0 puis 1 paramètre.

Script nommé suivant_params.sh

  1. En vous aidant de l'annexe 1, créer un script nommé suivant_params.sh qui réalise les actions suivantes :
  2. Tester le script nommé suivant_params.sh en lui passant 0 puis 1 puis 2 paramètres.

Mini projets

Aide à la recherche de fichiers

Le débutant en informatique trouvera, peut-être, la commande find un peu difficile à utiliser... L'objectif est de proposer un script en shell bash, nommé chercher.sh, pour rendre cette commande plus facile d'accès.

Réalisez un programme qui réalise les tâches suivantes :

Exemples de recherche :

Fichier "index.html" dans le dossier "/home" :

find /home -name "index.html" -print 2> /dev/null

Fichiers créés depuis moins de 3 jours dans le dossier "/home" :

find /home -mtime -3 -print 2> /dev/null

Fichiers dont la taille dépasse 2000 Ko (2000 blocs de 1024 octets) :

find /home -size 2000 -print 2> /dev/null

Générateur de miniatures

Le but est de réaliser un générateur de miniatures d'images en shell bash. Le script s'appellera miniatures.sh, il faudra le placer dans un dossier contenant des images.

Ce script :

Pour créer les miniatures, on utilisera le logiciel en ligne de commande de manipulation d'images ImageMagick. Il consiste en une suite d'outils capables de manipuler les images.

Par exemple, pour afficher une image :

display vague.jpg

Pour créer la miniature de la même image :

convert vague.jpg -thumbnail '100x75' vaguemini.jpg

Pour tester le script, on téléchargera le fichier images.zip que l'on décompressera. Les images contenues dans cette archive seront placées dans un dossier de test.

Arborescence des dossiers

Le script en shell bash à écrire se nomme aborescence.sh. Il présente, dans sa première version, l'ensemble des dossiers et des sous-dossiers du dossier courant. Une indentation permettra de distinguer les dossiers des sous dossiers.

Exemple :

Site
  Images
  Librairies
Musique
  Moderne
  Classique
  Jazz
...

Dans une deuxième version, le nombre de niveaux à visualiser sera demandé à l'utilisateur.