Unité libre: scripts sous unix/ TD No5

Objectifs du TD :  structures de contrôle case et while; instruction read, arithmétique entière

exercice 1:

  1. comment créer en une commande les dossiers td1, td2, td3, td4, cours1, cours2, cours3  et cours4.
  2. mettez en une commande les résultats des commandes w et df dans le fichier ex1-2.txt
  3. Que fait la commande suivante : { cd /etc; du -sk * } > ex1-3.txt.
  4. modifiez cette commande de façon à ce qu'elle ne modifie pas le dossier  courrant (le contenu du fichier obtenu doit être le même).
  5. Qu'affiche la commande suivante: echo 'ceci est mon shell: $SHELL, ceci est un dollar $, ceci est un # ceci est une étoile : * et voici la liste des fichiers du dossier courant: *'
  6. corrigez la commande précédente pour qu'elle affiche correctement le shell de l'utilisateur et la liste des fichiers
  7. même question que précédemment mais sans utiliser ni ' ni "

exercice 2: structures de contrôle (case, while)

  1. écrire un script qui demande à son utilisateur de choisir une opération op (choix1: +, choix 2:  -, choix 3:  / ou choix 4: *), deux nombres n1 et n2 et qui affiche la valeur de n1 op n2.
  2. écrire une script qui affiche la somme de ses paramètres supposés être des entiers positifs ou négatifs
  3. vérifier l'effet des options du shell (set -x, set -v, set -n) sur les scripts précédents
  4. on souhaite faire du ménage dans les fichiers du dossier courant. Ecrire un script qui :

Exercice 3: taille des fichiers

  1. écrire un script sommeTaille1.sh qui affiche la taille des fichiers ordinaires dont les noms lui sont passés en paramètre puis la somme des tailles des fichiers. Exemple: "sommeTaille1.sh f1 f2 test" retourne des tailles des fichiers ordinaires f1, f2 et test puis leur somme.
  2. écrire un script sommeTaille2.sh qui réalise le même travail mais qui lit les noms de fichiers sur son entrée standard (1 nom de fichier par ligne).Exemple d'utilisation: "(echo f1; echo  f2;echo  test) |sommeTaille1.sh".
  3. écrire un script sommeTaille3.sh réalisant le même travail mais acceptant les paramètres suivant :

Bibliographie/liens utiles

Dans une version ultérieure de ce document.