Université Sultan Moulay Slimane
Ecole Nationale des Sciences Appliquées
-Khouribga-
1ème CI – Informatique et Ingénierie des données
TP 3 : Unix &Shell
Objectif :
A l’issue de ce TP, vous saurez en mesure d’automatiser l’exécution de travaux à partir des éléments
étudiés précédemment. Les fonctionnalités abordées vous permettront de créer vos propres scripts Shell,
programmes développés en langage Bash.
Enoncé 1 : Appel et exécution de scripts Shell
1. Dans votre répertoire personnel, créez le sous-répertoire bin qui sera utilisé pour stocker tous les
scripts shell écrits par la suite et placez-vous dans ce répertoire.
2. Créez le script shell appel qui effectue les opérations suivantes :
- Affecter la chaîne de caractères « abc » à la variable var.
- Afficher la chaîne de caractères « la variable $var a pour valeur : », suivie du contenu de la
variable var.
- Effectuer une pause de trois secondes.
3. Exécutez le script shell appel de la manière suivante : bash appel
4. Exécutez le script shell appel de la manière suivante : appel
Est-ce possible ? Pourquoi ?
5. Ajoutez le droit d’exécution au script appel pour le propriétaire du fichier et ajoutez le chemin de
votre répertoire bin à la variable d’environnement PATH s’il n’y est pas déjà.
6. Exécutez le script shell appel de la manière suivante : appel
7. Quel shell a été utilisé pour interpréter le script appel appelé précédemment ? faites en sorte que
se soit obligatoirement un shell bash.
Enoncé 2 : Code de retour
1. Tapez la commande ls /etc/passwd et affichez son code retour.
2. Tapez la commande ls glop et affichez son code retour.
3. Affichez de nouveau le code retour de la dernière commande. Est-ce le même ?
4. Allez dans votre répertoire bin et modifier le script appel de façon qu’il renvoie un code retour
égal à deux puis testez-le.
Enoncé 3 : Tests de fichiers
1. Dans votre répertoire bin, créez le script shel fichier qui effectue les tests suivants sur un fichier
passé en argument :
- Si le fichier n’existe pas, sortir avec un code retour égal à un.
- Afficher si le fichier est un répertoire ou non.
- Afficher les autorisations que vous possédez sur le fichier.
- Afficher si le fichier contient des données ou non.
2. Testez le script shell fichier avec successivement le fichier /glop, /etc/hosts, /bin/ls et /home.
Enoncé 4 : Tests de chaînes de caractères
1. Dans votre répertoire bin, créez le script chaine qui effectue les tests suivants sur deux chaînes de
caractères passées en argument :
- Si au moins une des deux chaînes de caractères passées en argument est nulle, sortir avec un
code retour égal à un.
- Afficher si les chaînes de caractères sont identiques ou non.
2. Testez le script shell chaine avec les arguments suivants :
abc " "
" " abc
"" ""
abc abc
abc ABC
abc "abc "
Enoncé 5 : Tests et opérations arithmétiques
1. Dans votre répertoire bin, créez le script shell max qui retourne le plus grand des deux arguments
passés en paramètres.
Utilisez la commande test avec la syntaxe [].
2. Testez le script shell max avec les arguments suivants :
12
12 34
12 6
12 12
3. Créez le script shell div qui retourne le résultat de la division entière entre le premier et le second
argument.
4. Testez le script shell div avec les arguments suivants :
12
12 0
12 2
12 5
12 14
Enoncé 6 : Scripts interactifs
1. Dans votre répertoire bin, créez le script shell mult qui demande de saisir deux nombres et qui
retourne le résultat de la multiplication de ces deux nombres.
2. Testez le script shell mult avec les nombres 12 et 3.