[PDF] [PDF] TD 9 : Scripts UNIX (corrigé) - LIPN

Année 98-99 Ph Leray TD 9 : Scripts UNIX (corrigé) semaine du 31 mai 1999 Exercice 1 : Mon premier script #/bin/csh # Mon premier script clear while (1)



Previous PDF Next PDF





[PDF] Shell Linux – Corrigés Exercices 1

Shell Linux – Corrigés Exercices 1 Quelques exercices sur le shell Linux Auteur Version - Date Nom du fichier G VALET Version 1 0 - Jan 2007 Exo1-Shell 



[PDF] TD n°2 : Programmation shell CORRECTION - MIAGE de Nantes

CORRECTION Exercice 1 – Exemple de programme shell Exercice 3 – La commande read echo "Erreur : Le script doit être appelé avec 1 argument" 1> &2



[PDF] Les scripts - LaBRI

Comment écrire des shell-scripts bash permet aussi les nombres et les tableaux Exercice Tapez le script suivant, et essayez-le echo il y a $# paramètres



[PDF] Scripts shell - fnac-staticcom

Scripts shell Programmez sous Unix/Linux (sh, ksh, bash) Exercices et corrigés 174 QCM 80 travaux pratiques et leurs corrigés Près de 29 H de mise en 



[PDF] TD 9 : Scripts UNIX (corrigé) - LIPN

Année 98-99 Ph Leray TD 9 : Scripts UNIX (corrigé) semaine du 31 mai 1999 Exercice 1 : Mon premier script #/bin/csh # Mon premier script clear while (1)



[PDF] TP: Programmation Shell

Exercice N°4 : Créez la commande copier La commande reçoit en argument deux noms de fichiers, la source et la destination Le script se termine et 



[PDF] Exercices : fichiers et répertoires

changer de répertoire, changer le nom de Unix en Linux, sans changer sa position $ cd ; mv cours/Langages_IL/Unix cours/Langages_IL/Linux 4 Aller dans 



[PDF] TP 03 : Shell bash

17 jan 2017 · Pour tous les exercices suivants vous vérifirez systématiquement le nombre de param`etres Exercice : argument type et droits Créer un script 



[PDF] les sujets de TP (pdf)

Devoir Hors Présentiel – Calculette en Script shell Objectifs : Cet exercice a pour but de vous familiariser à la manipulation des structures de base du script 



[PDF] Programmation système et réseaux Corrigé du TP 3: Scripts shell

Introduction au scripts shells (bash) 1 Placer les commandes qui suivent dans le fichier ˜/temp/bonjour, puis essayer le script : #/bin/bash # Cette première 

[PDF] exercices statistiques 3ème

[PDF] exercices statistiques 3ème brevet

[PDF] exercices suites arithmétiques et géométriques terminale es

[PDF] exercices suites arithmétiques et géométriques terminale s

[PDF] exercices sur c'est et ce sont

[PDF] exercices sur ensemble de definition

[PDF] exercices sur ensembles de nombres

[PDF] exercices sur intervalle de confiance

[PDF] exercices sur la concentration molaire et massique

[PDF] exercices sur la concentration molaire et massique seconde

[PDF] exercices sur la forme canonique seconde pdf

[PDF] exercices sur la loi de beer lambert pdf

[PDF] exercices sur la loi des mailles

[PDF] exercices sur la loi des mailles et des noeuds

[PDF] exercices sur la loi des mailles pdf

I.U.T. de Villetaneuse1ère Année

Département InformatiqueSystème

Année 98-99Ph. Leray

TD 9 : Scripts UNIX (corrigé)

semaine du 31 mai 1999

Exercice 1 : Mon premier script

#!/bin/csh # Mon premier script clear while (1) echo "Menu" echo"Affichage repertoire courant1" echo"Liste des fichiers du repertoire2" echo"Informations sur un fichier3" echo"Changement de repertoire4" echo"n premieres lignes d'un fichier5" echo"Sortie0" echo -n "Choix: " set choix=$< switch ($choix) case 0: exit(0) case 1: pwd ; breaksw case 2: ls ; breaksw case 3: echo -n "Nom du fichier: " ; set file=$< ls -l $file ;breaksw case 4: echo -n "Nouveau repertoire: " ; set rep= $< cd $rep ; breaksw case 5: echo -n "Nom du fichier: " ; set file=$< echo -n "Nb de lignes a afficher: " ; set n=$< head -$n $file ; breaksw default: echo "Choix non propose" endsw end Exercice 2 :Script de concatenation + tri de 2 fichiers

a. Ecrire un script qui concatène puis trie deux fichiers file1 et file2 dans un nouveau fichier file3 et qui affiche

le nombre total de lignes. Les noms des trois fichiers doivent être passés en paramètre. #!/bin/csh # Script 2a. # les arguments sont récupérés dans $1, $2 et $3 cat $1 $2 | sort > $3 # nblig reçoit le résultat de l'interprétation de la # commande cat $3|wc -l (ˆ cause du `, back-quote) set nblig=`cat $3|wc -l` # comme nblig est une variable numérique, on peut remplacer set par @ echo "Le fichier $3 contient $nblig lignes"

b. Modifier le script précédent pour demander à l'utilisateur de saisir au clavier le (ou les) nom(s) de fichiers qu'il aurait

oublié d'indiquer en lançant le script #!/bin/csh # Script 2b. # les arguments récupérés dans $1, $2 et $3 # servent d'initialisation aux variables f1, f2 et f3. set f1=$1; set f2=$2 ; set f3=$3 # Attention : ne pas oublier les espaces ˆ gauche et ˆ droite du == while ($f1 == "") echo -n "fichier1:" ; set f1=$< end while ($f2 == "") echo -n "fichier2:" ; set f2=$< end while ($f3 == "") echo -n "fichier3:" ; set f3=$< end cat $f1 $f2 | sort > $f3 set nblig=`cat $f3 |wc -l` echo "Le fichier $f3 contient $nblig lignes" Exercice 3 :Test sur les fichiers ou les répertoires

a. Ecrire un script qui vérifie l'existence dans le répertoire courant du fichier dont le nom est passé en paramètre.

#!/bin/csh # script 3a. # Pour utiliser le test d'existence (-e $file), il faut que $file != "" if ($1 == "") then echo "aucun nom de fichier en parametre" else if !(-e $1) then echo "$1 n''existe pas" endif

b. Ecrire un script qui vérifie que le nom passé en paramètre est un fichier ou un répertoire.

#!/bin/csh # script 3b. # Pour utiliser le test de fichier (-f $file) ou de repertoire (-d $file), # il faut que $file != "" # Ces 2 tests marchent aussi (et répondent faux) si $file n'existe pas ... if ($1 == "") then echo "aucun nom de fichier en parametre" else if (-d $1) then echo "$1 est un repertoire" else if (-f $1) then echo "$1 est un fichier" else echo "$1 n'est ni un fichier ni un paramètre" endif Exercice 4 :Vérifier les noms de fichiers et de répertoires dans l'ex. 1

(Commentaire : à mon avis, vérifier que le nom de fichier est non-vide a un sens, mais bloquer l'utilisateur jusqu'à ce

qu'il ait donné un nom de fichier ou de répertoire existant est une maladresse, parce que ls -l ou cd traitent l'erreur, et

que l'utilisateur a sans doute besoin de l'option 2 pour rectifier. J'ai mis $< entre quotes '$<' pour autoriser les noms

de fichier avec des espaces ou des caractères jocker ? et * - fl) #!/bin/csh # Mon premier script + verification des noms de fichiers et de repertoire clear while (1) echo "Menu" echo"Affichage repertoire courant1" echo"Liste des fichiers du repertoire2" echo"Informations sur un fichier3" echo"Changement de repertoire4" echo"n premieres lignes d'un fichier5" echo"Sortie0" echo -n "Choix: " set choix=$< switch ($choix) case 0: exit(0) case 1: pwd ; breaksw case 2: ls ; breaksw case 3:#==================== Info fichier ==================== @ OK=1 # repeter tant que $file n'est pas un fichier while ($OK == 1) # saisie d'un nom de fichier non vide ! while ($file == "") echo -n "Nom du fichier: " ; set file='$<' end if !(-f $file) then echo "$file n''est pas un fichier" else @ OK=0 endif end ls -l $file ;breaksw case 4:#==================== Chgt repertoire ================ @ OK=1 while ($OK == 1) while ($rep == "") echo -n "Nouveau repertoire: " ; set rep= '$<' end if !(-d $rep) then echo "$rep n''est pas un repertoire else @ OK =0 endif end cd $rep ; breaksw case 5:#================ n premieres lignes ================= @ OK=1 while ($OK == 1) while ($file == "") echo -n "Nom du fichier: " ; set file='$<' end if !(-f $file) then echo "$file n''est pas un fichier" else @ OK = 0 endif end echo -n "Nb de lignes a afficher: " ; set n=$< head -$n $file ; breaksw default: echo "Choix non propose" endsw endquotesdbs_dbs20.pdfusesText_26