[PDF] [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 



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

[PDF] TP: Programmation Shell

GRASSA. N ISET Kairouan

Programmation Shell - 1 -

TP: Programmation Shell

Exercice N°1 :

Ecrivez un script qui convertit en minutes et secondes un temps exprimé en secondes (le temps est passé en paramètre).

Exercice N°2 :

Ecrivez un script qui affiche, pour tous les utilisateurs passés en arguments du script, le nom de l'utilisateur, le répertoire de connexion et le shell.

Exercice N°3 :

Ecrivez un script qui enregistre dans un fichier les lignes saisies au clavier, et qui affiche le nombre de lignes qui ont été enregistrées.

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 affiche un message d'erreur si l'une des conditions suivantes est réalisée

Le nombre d'arguments est incorrect.

Le fichier source n'existe pas ou il n'est pas copiable (pas d'accès en lecture).

Le fichier source n'est pas un fichier ordinaire.

Le fichier destination existe.

Le répertoire de destination, que l'on peut connaître avec la commande dirname, n'est pas accessible en

écriture.

La copie a échoué.

Quelques Notion sur : La gestion de fichiers

L'objectif de la gestion de fichier est de savoir lire des lignes ou des mots, créer ou mettre à

jour des fichiers, accéder à un fichier à l'aide de son descripteur. la mise à jour d'un fichier par la redirection >> la redirection avec << la lecture d'un fichier dans une boucle avec la commande read

Exemple de création d'une fiche :

#!/bin/sh echo "nom ? \c" read nom echo "telephone ? \c" read telephone echo "${nom}:${telepho ne}" >> agenda

GRASSA. N ISET Kairouan

Programmation Shell - 2 -

#more agenda toto:23-11-71-43 titi:98-33-65-78 Suppression et modification d'enregistrements dans un fichier On peut réaliser cette tâche grâce a des commandes tels que : grep, tail , head ou sed

Exemple de suppression

On souhaite supprimer la ou les ligne(s) qui ne concernent pas toto. # cat agenda toto:23-11-71-43 titi:98-33-65-78 #grep v "^toto :" agenda > /tmp/tempo$$ #mv /tmp/temp$$ agenda

Exemple de

modification On peut utiliser la commande grep (vu précédemment) pou r ce genre de tâche mais la commande sed est adaptée à ce type d'opération. Pour plus d'informations faites man sed # sed `s/titi/tata/` agenda > tmp/tempo$$ # mv /tmp/tempo$$ agenda # cat agenda tata:98-33-65-78

Exercice N°5 :

Réaliser un programme de gestion d'agenda téléphonique. Chaque enregistrement contient le nom d'une personne et son numéro de téléphone. Les deux champs sont séparés par une virgule. Le programme affiche le menu suivant :

1. Ajouter une nouvelle fiche

2. Rechercher une fic

he (avec une partie du nom)

3. Détruire une fiche

4. Modifier une fiche

5. Lister l'annuaire

6. Fin

Votre choix

GRASSA. N ISET Kairouan

Programmation Shell - 3 -

Correction

EXERCICE 1

#!/bin/bash #arith.h minutes=`expr $1 \/ 60` secondes=`expr $1 \% 60` echo "Résultat $minutes minut es et $secondes secondes"

EXERCICE 2

#!/bin/bash for nom do grep "^$nom" /etc/passwd | cut -d: -f1,6,7 done

EXERCICE 3

#!/bin/bash #arith.h integer i=0 while echo "Entrer un texte ou pour quitter: \c" read ligne do if [ "$ligne" = "fin" -o "$ligne" = "FIN" ] then break fi echo "$ligne" >> fichligne let i=i+1 done echo "le nombre de lignes saisies: $i"

EXERCIICE

4: #!/bin/bash # copier proprement if [ $# -ne 2 ] then echo "ERREUR: nombre arguments incorrect" exit 1 fi if [ ! -r $1 ] then echo "ERREUR: la source n'est pas accessible" exit 2 fi if [ ! -f $1 ] then echo "ERREUR: la source n'est pas un fichier" exit 3

GRASSA. N ISET Kairouan

Programmation Shell - 4 -

fi if [ ! -e $2 ] then echo "ERREUR: la destination n'existe pas" exit 4 fi rep_dst=`dirname $2` if [ -w $rep_dst ] then echo "ERREUR: le répertoire n'est pas accessible" exit 5 fi if cp $1 $2 > /dev/null then : else echo "ERREUR: la copie a echouée" exit 6 fiquotesdbs_dbs2.pdfusesText_3