Année universitaire 2002-2003
espace

Licence d'informatique
Module 4 - partie "C / shell"



Travaux pratiques 9 :

  • Exercice 1 : appel dans un script d'une commande C.
  • Exercice 2 : renversement d'un fichier.
  • Exercice 3 : taille d'un répertoire.

  • 1. Exercice 1.

    1) Écrire la commande division, en langage C, permettant de calculer le quotient et le reste de la division entière de deux valeurs passées en paramètres.

    Exemple :

    $ division 15 4
    quotient : 3 - reste : 3
    $

    2) Écrire le script appel.sh qui, après avoir lu deux valeurs entières au clavier, appelle la commande division, en lui passant ces deux valeurs en paramètres. Le script affichera un message d'erreur si la commande division renvoie un code de retour strictement positif.

    2. Exercice 2.

    On se propose d'écrire un script inverse.sh, qui réécrit un fichier en inversant l'ordre de ses lignes. Ce script reçoit en paramètre le nom du fichier à inverser. Ce paramètre peut être éventuellement suivi du nom d'un autre fichier. Dans ce cas, l'inversion du fichier initial sera effectuée dans le second fichier (le fichier initial n'étant pas modifié). On pourra suivre, étape par étape, les indications suivantes pour parvenir à l'écriture finale du script :

    3. Exercice 3.

    On souhaite écrire une commande similaire à une commande UNIX, de nom t_rep, dont le rôle est de donner diverses indications sur le contenu d'un répertoire. Appelée sans paramètre, cette commande doit renvoyer la taille cumulée des fichiers que contient le répertoire courant. Appelée avec l'option -r, elle doit indiquer le nombre de sous-répertoires contenus dans le répertoire courant. Appelée avec l'option -f, elle doit renvoyer le nombre de fichiers contenus dans le répertoire courant. Appelée avec un nom de répertoire en paramètre (après les éventuelles options), les valeurs retournées concernent le contenu de ce répertoire. On supposera que cette commande ne peut être appelée qu'avec au plus une seule option (soit -f, soit -r). On pourra suivre, étape par étape, les indications suivantes pour réaliser le script (on prendra soin de tester le bon fonctionnement du script après chacune de ces étapes) :

    1) Initialisation :

    2) Traitement :


    Ces pages ont été réalisées par A. Crouzil, J.D. Durou et Ph. Joly.
    Pour tout commentaire, envoyer un mail à crouzil@irit.fr, à durou@irit.fr ou à Philippe.Joly@irit.fr.