ASR2	Utilisation des systèmes Informatiques	TP7

Département Informatique – IUT Bordeaux 1 – 2005-2006

Objectifs : écriture de shell scripts, utilisation des boucles, tests, fonctions, paramètres etc.

Exercice 1: écrire un script qui affiche les nombres entiers entre 1 et n (n étant passé en paramètre). [boucle while]

Exercice 2.

a Analysez le script suivant

#!/bin/bash

function ligne {

for i in $(seq 1 $1)

do

echo -n '*'

done

echo

}

ligne 3

ligne 5

b Écrire une fonction carre, telle que « carre 3 » affiche

***

***

***

c Idem pour dessiner un triangle et un rectangle

d Intégrez dans votre script un dialogue avec l'utilisateur. Exemple :

$ essai

Que voulez vous dessiner ?

(c=carre, r=rectangle,

t=triangle, q=quitter)

c

Quel est le coté du carré ?

3

***

***

.***

Que voulez-vous faire

....

(Conseil : utiliser case)

Exercice 3. Réalisez un shell-script qui, en fonction de l'heure courante (retournée par la commande date) affiche

"Bonjour" entre 0h et 12h,

"Bon après-midi" de 12h à 17h,

et "Bonne soirée" de 17h à 24h

Exercice 4.

a Réalisez un shell-script qui demande interactivement le nom d'un fichier-source C++, vérifie que ce fichier existe, puis le compile)

b Écrire une fonction shell oui_ou_non qui reçoit en paramètre un message, l'affiche et pose la question « oui ou non ? ». La question sera reposée jusqu'à ce que l'utilisateur tape « oui » ou « non ».

Usage : oui_ou_non 'Voulez-vous travailler ?'

Code de retour : 0 pour oui, 1 pour non.

c Intégrez la fonction à l'exercice b (voulez-vous compiler ?).

c Améliorer cette fonction pour qu'elle autorise la réponse par oui, o, y, OUI, O, Y, non, NON, n.

d Autoriser aussi les minuscules et majuscules mélangées (conseil: conversion par tr)

Exercice 5. Remplir un fichier « pays.data » contenant une liste de quelques pays, avec leur capitale et leur drapeau

France Paris bleu blanc et rouge

Japon Tokyo rond rouge sur fond blanc

Italie Rome vert blanc et rouge

Chine Pekin cinq etoiles sur fond rouge

Écrire un script qui reçoit en paramètre un mot, et affiche les pays correspondants. Exemple

$ drapeau vert

pays: Italie,

capitale: Rome,

Le drapeau est vert blanc et rouge

TP7-asr2-2005	1/1

Michel Billaud

2005-09-04T19:09:47