Exercices pour la préparation à l'examen pratique 2

Les exercices suivants ont pour but de vous préparer à l'examen pratique 2 de la semaine prochaine.

Tip

Ouvrez toujours deux onglets du terminal, un premier pour votre éditeur texte (vim ou nano) et un deuxième pour exécuter et tester votre script.

Exercice 1 - Renommer un fichier passé en paramètre

Objectif :

Écrire un script qui prend un chemin vers un fichier en paramètre. Le script doit préfixer le fichier par la date du jour au format AAAA-MM-JJ.

Exemple :

$ ./prefixer_fichier_avec_date.sh monfichier.txt
Fichier renommé avec succès : 2025-11-26-monfichier.txt

$ ./prefixer_fichier_avec_date.sh fichier-inexistant.txt
Le fichier est invalide

Étapes :

  1. Créez le script nommé prefixer_fichier_avec_date.sh et changez les permissions pour qu'il soit exécutable.
  2. Si l'argument reçu n'est pas un chemin vers fichier valide, affichez un message d'erreur et quittez le programme avec le code de sortie 2.
  3. Renommer le fichier pour le préfixer avec la date du jour en utilisant la commande date. À l'aide de man date ou date --help, trouvez la bonne option pour bien formater la date. Si vous n'y arrivez pas, demandez à Google de vous aider!
  4. Dans le terminal, créez un nouveau fichier et testez le cas où le fichier existe et où le fichier n'existe pas.

Exercice 2 - Affichez les arguments passés à un script

Objectif :

Écrire un script qui affiche tous les arguments passés en paramètres, un par ligne. Le nombre d'arguments est variable mais au moins un argument doit être passé.

Exemple :

$ ./afficher_arguments.sh un deux trois go
un
deux
trois
go

$ ./afficher_arguments.sh
Vous devez passer au moins un argument au script

Étapes :

  1. Créez le script nommé afficher_arguments.sh et changez les permissions pour qu'il soit exécutable.
  2. Si le script ne reçoit pas au minimum un argument, affichez un message d'erreur et quittez avec le code de sortie 2.
  3. À l'aide d'une boucle et de la variable spéciale $@, affichez tous les arguments passés au script, un par ligne2.

Exercice 3 - Additionner les nombres dans un fichier

Objectif :

Écrire un script qui lit un fichier qui contient une série de nombres entiers (1 par ligne). Le script doit additionner tous les nombres et afficher la somme.

Exemple :

$ ./additionner_nombres.sh
Le fichier nombres.txt n'existe pas

$ ./additionner_nombres.sh
24

Prérequis :

Créez un fichier nombres.txt avec le format suivant (vous pouvez entrez les nombres que vous désirez) :

2
8
10
4

Étapes :

  1. Créez le script nommé additionner_nombres.sh et changez les permissions qu'il soit exécutable.
  2. Le script ne prend aucun paramètre mais doit vérifier l'existence du fichier nombres.txt dans le même dossier que le script. Si le fichier n'existe pas, affichez un message d'erreur et quittez le programme avec le code de sortie 2.
  3. Bouclez à travers chaque ligne du fichier et additionner les nombres dans une variable.
  4. Affichez le résultat de l'addition.

Exercice 4 - Afficher le système d'exploitation utilisé

Objectif :

Écrire un script qui affiche le système d'exploitation utilisé par l'utilisateur.

Exemple :

$ ./afficher_os.sh
Bravo! Vous utilisez Linux!

Étapes :

  1. Créez le script nommé afficher_os.sh et changez les permissions pour qu'il soit exécutable.
  2. Le script ne prend aucun paramètre. Vous devez faire l'affichage à l'intérieur d'une fonction nommée afficher_os() comme le nom du script.
  3. La fonction utilise la commande uname pour afficher le nom du système d'exploitation dynamiquement.

Exercice 5 - Un peu de tout!

Objectif :

Écrire un script qui demande à l'utilisateur d'entrer un chiffre entre 1 et 5. Le script affiche ensuite autant de nombres aléatoires qu'indiqué par l'utilisateur.

Exemple :

$ ./nombres_aleatoires.sh
Entre un nombre entre 1 et 5 : 9
Erreur!
Entre un nombre entre 1 et 5 : 3
11878
10155
15403

Étapes :

  1. Créez le script nommé nombres_aleatoires.sh et changez les permissions pour qu'il soit exécutable.
  2. Le script ne prend pas de paramètres mais il est interactif. C'est à dire qu'il s'arrête pour attendre une saisie de l'utilisateur.
  3. Si le chiffre entré par l'utilisateur n'est pas entre 1 et 5 inclusivement (condition if), un message d'erreur s'affiche et l'utilisateur doit saisir à nouveau un chiffre (boucle while).
  4. Vous devez ensuite afficher les nombres aléatoires, un par ligne. Si l'utilisateur a saisi le chiffre 4, alors vous affichez 4 nombres aléatoires. (boucle for avec seq)
  5. Utilisez la variable spéciale $RANDOM pour afficher un nombre aléatoire entre 1 et 32767.