Académique Documents
Professionnel Documents
Culture Documents
TP 2 - Scripts
L’ensemble du TP sera réalisé dans un terminal sous Linux (gnome-terminal) avec un shell
bash (par défaut).
Pour réaliser les scripts suivants et testez les. Pensez à utiliser l’aide en ligne si nécessaire
(manuel Unix).
1. Ecrire le script suivant (nommé script1.sh) :
#!/bin/bash
1
9. Ecrire un script qui stocke dans un fichier, des nombres de 1 à 5 (un nombre par ligne).
10. Affichage de tous les répertoires présents dans un répertoire passé en argument (avec et
sans ls)
11. Affichage de tous les fichiers d’extension txt présent dans le répertoire $HOME et ses sous-
répertoires (sans utiliser la commande ls).
12. Ecrire le script echo_args.sh qui affiche la liste de ses paramètres,
sur une ligne chacun.
13. Ecrire le script Shell args qui affiche la liste de ses paramètres, séparés par des blancs,
puis indique si chaque paramètre est numérique.
14. Ecrire un script qui
— crée trois répertoires (ProgShell, LANGC, JAVA, puis dans chacun de ces répertoires,
un répertoire TP, puis dans chaque répertoire TP, dix répertoires nommés de TP1 à
TP10
On obtiendra l’arborescence suivante :
ProgShell/TP/TP1
ProgShell/TP/TP2
ProgShell/TP/TP3
...
LANGC/TP/TP1
LANGC/TP/TP2
LANGC/TP/TP3
...
JAVA/TP/TP1
JAVA/TP/TP2
JAVA/TP/TP3
Contraintes possibles :
— utilisation d’une seule boucle for
— un appel à mkdir
— puis pour chaque répertoire de l’arborescence ci-dessus, crée un fichier ls.txt conte-
nant la liste des sous-répertoires.
15. Ecrire un script qui demande un nom de fichier à un utilisateur, teste si le fichier existe
ou recherche le fichier dans l’arborescence /etc puis affiche les informations associées au
fichier (taille, date de dernière modification, etc.).
16. Reprendre le script script1.sh et modifiez le pour obtenir l’affichage suivant (avec la
date du jour) :
Bonjour tout le monde !
La date du jour est lundi 30 août 2021 (semaine 35)
Indication : L’affichage en français peut être obtenu en positionnant la variable d’envi-
ronnement LC_TIME de la manière suivante : LC_TIME=fr_FR.UTF-8