Vous êtes sur la page 1sur 2

TP 4 : BASH – Scripts Shell

Université Sorbonne Paris Nord – Institut Galilée


M1 3IR - Ingénierie et Innovation en Images et Réseaux
Année 2020-2021

Exercice 1
Créez un répertoire tp4 dans votre répertoire personnel. Accèdez à tp4, et créez un répertoire exo1
puis exécutez l’exercice 1 dans exo1.
1. A quoi sert la séquence C-shell suivante ?
#!/bin/csh
set question='reponse (oui/non) ->'
set reponse=non
while ($reponse != oui)
echo -n $question" "
set reponse=$<
end
echo "on sort par $reponse"
Proposer une exécution possible prenant en compte les différentes cas de figure.
2. On désire à présent offrir à l’utilisateur de quitter une boucle en tapant non seulement oui
mais également tout mot commençant par o. Utiliser un switch pour préciser à l’utilisateur
si l’on a supposé qu’il voulait écrire oui (mot commençant par o) ou qu’il voulait dire non
(mot commençant par n) ou que le programme ne comprend pas.

Exercice 2 (Les paramètres)


Après avoir créé le répertoire tp4/exo2, écrivez les scripts suivant dans ce dernier :
1. Écrire un script C-Shell qui affiche le message ”Bonjour” sur le terminal.
2. Un script qui calcule la somme de deux entier A et B
3. Un script qui affiche le nombre d’arguments passés par l’utilisateur.
4. Un script qui communique si l’utilisateur a passé des arguments à la ligne de commande. Si
oui, affiche tous les arguments passés par l’utilisateur.
5. Un script qui affiche “Bonjour”, “Good Morning”, “Buongiorno”, “Bom dia” selon que le
paramètre passé par l’utilisateur soit 0, 1, 2, 3.
6. Un script qui demande un nombre entier entre 0 et 3 à l’utilisateur et affiche les phrases du
point précédent selon les mêmes règles. Toutefois si l’utilisateur passe des nombres entiers
faux (< 0 ou > 3) le script doit afficher un message d’erreur.
7. Un script qui prend un entier positif comme argument et calcule la correspondante puissance
de 2. Par exemple, si l’utilisateur passe 3, votre script doit calculer 23 (c’est-à-dire 8).

Exercice 3 (Beaucoup de fichiers)


Créez le répertoire tp4/exo3 dans votre répertoire personnel. Accèdez au répertoire exo1.
2

1. Écrivez un premier script qui crée les 50 fichiers fich1, fich2, . . ., fich50 dans exo3 (avec
une boucle for).
2. Créez un nouveau fichier input dans exo3. Écrivez du texte quelconque dedans ce dernier
fichier.
3. Avec un deuxième script copiez le contenu de input dans tous les fichiers fichN , où N est
multiple de 6 (donc fich6, fich12, etc.).
4. Contrôlez si votre réponse au point précedent est correcte : tapez la commande
grep <motif> `ls fich*`
Pourquoi la commande précédente fonctionne sans erreurs mais grep <motif> ls fich*
donne une erreur ?
Exercice 4 (Calculatrice)
Écrivez un script qui simule le fonctionnement d’une calculatrice : le script demande à l’utilisateur
un nombre entier, un opérateur (a=addition, s=soustraction, m=multiplication, d=division) et un
deuxième nombre entier, et effectue l’opération correspondante. Voici un exemple d’utilisation :

> Bonjour! Veuillez saisir un nombre entier :


> 3
> Quelle opération souhaitez-vous faire?
> a
> Saisir le deuxième nombre entier :
> 5
> Le résultat de 3 + 5 est 8. À bient^
ot.

Vous aimerez peut-être aussi