Accueil » Cours » Fondamentaux en informatique » Scripting Shell – Découverte des fondamentaux

Le scripting Shell est une méthode puissante pour automatiser des tâches sous Linux en utilisant des lignes de commande. Un script est essentiellement un fichier texte contenant des commandes à exécuter dans un Shell (par exemple Bash). Ce cours vous guidera à travers les éléments fondamentaux pour écrire, exécuter, et comprendre des scripts Shell.

1. Qu’est-ce qu’un script ?

Un script est un fichier texte exécutable qui contient une série de commandes. Ces commandes sont lues et exécutées de manière séquentielle, permettant d’automatiser des processus. Un script peut recevoir des arguments et produire des résultats.

2. Comment rédiger un script ?

La rédaction d’un script nécessite quelques étapes clés :

  1. Analyser les besoins : Définir précisément le problème ou la tâche à automatiser.

  2. Traduire la réponse au besoin en pseudo-code : Écrire une description simplifiée du fonctionnement, sans se préoccuper des détails techniques.

  3. Créer l’algorithme : Décrire les différentes étapes sous forme de séquence de tâches.

  4. Écrire le script : Convertir l’algorithme en code.

3. Créer un script

Pour créer un script, il est nécessaire d’ajouter une ligne spéciale en tête de fichier, appelée Shebang : #!/bin/bash. Cette ligne spécifie que le script sera interprété avec Bash.

Voici un exemple de script simple : #!/bin/bash echo "Hello World".

Pour rendre ce script exécutable, il faut utiliser la commande : chmod +x ./script.sh.

4. Les variables

Une variable en scripting permet de stocker une valeur qui pourra être utilisée ultérieurement. En Bash, les variables sont des chaînes de caractères par défaut, même si elles peuvent contenir des nombres.

  • Déclaration : variable="Valeur"

  • Utilisation : Pour utiliser la valeur d’une variable, on la précède du signe $ : echo $variable

Les variables peuvent également être exportées pour qu’elles soient accessibles par d’autres processus : export variable.

5. Enchainements et conditions

Il est possible d’enchaîner des commandes avec des opérateurs logiques :

  • ET logique (&&) : La commande suivante est exécutée uniquement si la précédente réussit. mkdir dossier && touch dossier/fichier

  • OU logique (||) : La commande suivante est exécutée uniquement si la précédente échoue. mkdir dossier || echo "Erreur lors de la création du dossier"

Les conditions peuvent être écrites avec la structure if : if [ -e fichier ]; then echo "Le fichier existe" else echo "Le fichier n'existe pas" fi.

6. Boucles

Les boucles permettent de répéter des actions :

  • Boucle WHILE : Répète tant qu’une condition est vraie. while [ $var -lt 10 ]; do echo $var var=$((var+1)) done

  • Boucle FOR : Répète pour chaque élément d’une liste. for i in 1 2 3; do echo "Numéro : $i" done

7. Fonctions

Les fonctions permettent de regrouper des blocs de commandes réutilisables. ma_fonction() { echo "Ceci est une fonction" } ma_fonction

Il est possible de déclarer des fonctions dans des fichiers séparés et de les utiliser dans plusieurs scripts grâce à la commande source.

8. Commandes internes au Shell

Certaines commandes sont très souvent utilisées dans les scripts :

  • echo : Affiche du texte à l’écran.

  • read : Lit une entrée utilisateur.

  • exit : Quitte le script avec un code de retour.

Le scripting Shell est un outil indispensable pour les administrateurs systèmes et les utilisateurs avancés. Grâce aux scripts, il est possible d’automatiser des tâches répétitives, de gérer des configurations complexes et de simplifier l’administration des systèmes Linux.

9. Travaux pratiques

Retour en haut