Les fondements du scripting Bash dans les environnements Linux

1 Les sorties

Bonjour tout le monde!
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0104-2022-000100000000/info.yml
📋

Sortie de message contenant du texte

Bonjour tout le monde! (2)
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0104-2022-000100000001/info.yml
📋

Sortie de message contenant du texte et un saut de ligne (newline)

2 Les variables et les entrées

Assignation simple dans une variable
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0120-2022-000200000001/info.yml
📋

Assignation simple dans une variable

Afficher le contenu d’une variable
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0120-2022-000200000002/info.yml
📋

Afficher le contenu d’une variable

Lire l’entrée standard
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0120-2022-000200000003/info.yml
📋

Lire l’entrée standard et capturer l’information dans une variable.

Capturer la date du jour dans une variable
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0120-2022-000200000004/info.yml
📋

Capturer la date du jour en format AAAA-MM-JJ dans la variable `aujourdhui`.

Exercice récapitulatif
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0121-2022-000200000005/info.yml
📋

Cet exercice vise à tester l’étudiant sur les notions apprises dans cette section.

3 Les paramètres positionnels

Affichage de la valeur d’un paramètre positionnel
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0125-2022-000300000001/info.yml
📋

Apprendre à afficher le contenu d’un paramètre positionnel.

Affichage du nombre de paramètres positionnels
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0125-2022-000300000002/info.yml
📋

Apprendre à afficher le nombre de paramètres positionnels.

Echo des paramètres positionnels
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0125-2022-000300000003/info.yml
📋

Apprendre à utiliser le paramètre spécial qui donne tous les paramètres de la ligne de commande.

Exécuter une opération mathématique sur deux paramètres
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0125-2022-000300000004/info.yml
📋

Apprendre à utiliser les paramtères dans des instructions.

Utiliser une instruction pour décaler les paramètres
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0125-2022-000300000005/info.yml
📋

Apprendre à utiliser l’instruction qui permet de décaler les paramètres positionnels.

Utiliser une instruction pour modifier les paramètres positionnels
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0125-2022-000300000006/info.yml
📋

Apprendre à utiliser l’instruction qui permet de modifier les paramètres positionnels.

4 Les conditions de contrôle de flux

Les conditions simples
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0214-2022-000400000001/info.yml
📋

Apprendre à créer une condition simple.

Les conditions avec une instruction `sinon` (`else`)
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0214-2022-000400000002/info.yml
📋

Écrire une condition de contrôle de flux qui contient une instriction `else`.

Les conditions imbriquées
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0214-2022-000400000003/info.yml
📋

Apprendre à créer des conditions imbriquées.

Les conditions d’existence de fichiers
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0214-2022-000400000004/info.yml
📋

Apprendre à vérifier l’existence d’un fichier avant de prendre des actions sur ce fichier.

Les conditions d’existence de fichiers non vides
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0214-2022-000400000005/info.yml
📋

Apprendre à vérifier l’existence et la taille d’un fichier avant de prendre des actions sur ce fichier.

5 Les boucles

Les boucles While
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0304-2022-000500000001/info.yml
📋

Apprendre à utiliser la boucle While.

Les boucles Until
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0304-2022-000500000002/info.yml
📋

Apprendre à utiliser la boucle Until.

Les boucles For
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0304-2022-000500000003/info.yml
📋

Apprendre à utiliser la boucle For.

Les boucles For en utilisant des variables
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0304-2022-000500000004/info.yml
📋

Apprendre à utiliser la boucle For avec des variables.

Les boucles For en utilisant directement les éléments d’une liste
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0304-2022-000500000005/info.yml
📋

Apprendre à utiliser la boucle For avec une liste.

Les boucles For en utilisant les résultats d’une commande
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0304-2022-000500000006/info.yml
📋

Apprendre à utiliser la boucle For avec les résultats d’une commande.

Les boucles - exercice récapitulatif
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0304-2022-000500000007/info.yml
📋

Exercice récapitulatif sur les boucles.

6 Les manipulations de chaines de caractères

Les manipulations des chaines de caractères - la longueur
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0305-2022-000600000001/info.yml
📋

Apprendre à calculer la longueur d’une chaine de caractères.

Les manipulations des chaines de caractères - concatener des chaines de caractères
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0305-2022-000600000002/info.yml
📋

Apprendre à concatener des chaines de caractères.

Les manipulations des chaines de caractères - supprimer des caractères
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0305-2022-000600000003/info.yml
📋

Apprendre à supprimer des caractêres dans les chaines de caractères.

Les manipulations des chaines de caractères - remplacer des caractères
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-0f33-0305-2022-000600000004/info.yml
📋

Apprendre à remplacer des caractêres dans les chaines de caractères.

7 Les variables d’environnement

Affichage de la valeur d’une variable d’environnement
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0207-2022-011000000001/info.yml
📋

Apprendre à affichier le contenu d’une variable d’environnement.

8 Les notions avancées sur les variables

Les variables en lecture seule
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0208-2022-011100000001/info.yml
📋

Apprendre à créer une variable en lecture seule.

Les variables de type ’tableau’ - Initialiser un tableau
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0208-2022-011100000002/info.yml
📋

Apprendre à entrer des valeurs dans une variable de type ’tableau’.

Les variables de type ’tableau’ - lire les valeurs
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0208-2022-011100000003/info.yml
📋

Apprendre à lire la valeur d’une variable de type ’tableau’.

9 Les notions avancées sur les conditions

L’instruction case
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0302-2022-011200000001/info.yml
📋

Apprendre à utiliser l’instruction CASE.

L’instruction case, un autre exercice
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0302-2022-011200000002/info.yml
📋

Apprendre à utiliser l’instruction CASE.

Les conditions complexes avec AND
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0302-2022-011200000003/info.yml
📋

Apprendre à créer des conditions complexes utilisant un `AND`.

Les conditions complexes avec OR
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0302-2022-011200000004/info.yml
📋

Apprendre à créer des conditions complexes utilisant un `OR`.

Les conditions complexes avec AND et OR
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0302-2022-011200000005/info.yml
📋

Apprendre à créer des conditions complexes utilisant un `AND` et un `OR`.

10 L’utilisation des expressions régulières

Les conditions utilisant les expressions régulières
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0303-2022-011300000001/info.yml
📋

Apprendre à créer des conditions complexes utilisant les expressions régulières.

Les conditions utilisant les expressions régulières - début de chaine de caractères
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0303-2022-011300000002/info.yml
📋

Spécifier le début de la chaine de caractères dans une expression régulière.

Les conditions utilisant les expressions régulières - spécifier une alternative
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0303-2022-011300000003/info.yml
📋

Spécifier une alternative dans une expression régulière.

Les conditions utilisant les expressions régulières - utiliser les digits et les lettres
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0303-2022-011300000004/info.yml
📋

Spécifier des digist et des lettres dans une énumération dans l’expression régulière.

Les conditions utilisant les expressions régulières - fin de chaine de caractères
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0303-2022-011300000005/info.yml
📋

Spécifier la fin de la chaine de caractères dans une expression régulière.

Les conditions utilisant les expressions régulières - répétitions de caractères
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0303-2022-011300000006/info.yml
📋

Utiliser la répétition de caractères dans une expression régulière.

Les conditions utilisant les expressions régulières - répétitions comptées de caractères
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0303-2022-011300000007/info.yml
📋

Utiliser la répétition comptées de caractères dans une expression régulière.

Les conditions utilisant les expressions régulières - les occurrences
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0303-2022-011300000008/info.yml
📋

Utiliser les occurrences de caractères dans une expression régulière.

Les conditions utilisant les expressions régulières - exercice récapitulatif
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0303-2022-011300000009/info.yml
📋

Utiliser les notions apprises sur les expressions régulières.

11 Les paramètres positionnels, notions avancées

Affichage de messages selon les paramètres positionnels reçus, getopts
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0304-2022-011400000001/info.yml
📋

Apprendre à utiliser getopts.

Affichage de messages selon les paramètres positionnels reçus, getopts avec paramètres
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0304-2022-011400000002/info.yml
📋

Apprendre à utiliser getopts avec des paramètres

Affichage de messages selon les paramètres positionnels reçus, getopts, exercice récapitulatif
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0304-2022-011400000003/info.yml
📋

Exercice récapitulatif avec getopts

12 Les manipulations avancées des chaines de caractères

Les manipulations avancées des chaines de caractères - les extractions
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0307-2022-011500000001/info.yml
📋

Apprendre à extraire des informations d’une chaine de caractères.

Les manipulations avancées des chaines de caractères - les extractions avancées
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0307-2022-011500000002/info.yml
📋

Apprendre à extraire des informations dans une chaine de caractères.

Les manipulations avancées des chaines de caractères - diviser une chaine en fragments
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0307-2022-011500000003/info.yml
📋

Apprendre à séparer des champs dans une chaine de caractères.

Les manipulations avancées des chaines de caractères - remplacement de caractères
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0307-2022-011500000004/info.yml
📋

Apprendre à remplacer des caractères ou une partie de chaine dans une chaine de caractères.

13 Les fonctions

Les fonctions sans paramètres
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0306-2022-011600000001/info.yml
📋

Apprendre à utiliser les fonctions sans paramètres.

Les fonctions avec paramètres
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0306-2022-011600000002/info.yml
📋

Apprendre à utiliser les fonctions avec paramètres.

Utiliser une fonction externe
🔗
src=https://progression.pages.dti.crosemont.quebec/contenu/bash_1/demo/00009103-1b43-0306-2022-011600000003/info.yml
📋

Apprendre à utiliser les fonctions externes.