CodeGym /Cours /Docker SELF /Introduction aux scripts bash : syntaxe, variables, comma...

Introduction aux scripts bash : syntaxe, variables, commandes

Docker SELF
Niveau 3 , Leçon 3
Disponible

Introduction aux scripts bash : syntaxe, variables, commandes

1. Qu'est-ce que les scripts bash ?

Si tu t'es déjà demandé : "Pourquoi dois-je répéter les mêmes commandes encore et encore ?", alors bravo, tu es prêt pour les scripts bash ! Les scripts bash sont une manière d'automatiser le travail sous Linux en écrivant une séquence de commandes dans un seul fichier. Bash (Bourne Again Shell) n'est pas juste un shell, c'est un couteau suisse pour les admins, les devs, et tous ceux qui veulent que le système bosse pour eux.

Avantages des scripts bash

  • Gain de temps : Écris une fois — exécute huit fois.
  • Répétabilité des tâches : Les scripts s'exécutent de la même manière à chaque fois (enfin, si tu as bien tout écrit).
  • Automatisation des routines : Crée des commandes personnalisées pour les sauvegardes, la surveillance des ressources ou la gestion des fichiers.

2. Les bases de création de scripts

Alors, allons-y. Un script Bash, c'est juste un fichier texte avec une liste de commandes. Mais pour que Linux comprenne que c'est un script et pas des notes aléatoires de ton journal intime, il faut respecter certaines règles.

Étape 1 : Nom et format de fichier

Les scripts Bash ont généralement une extension .sh (mais ce n'est pas obligatoire). Par exemple :

hello_world.sh
backup_script.sh

Étape 2 : En-tête obligatoire

Chaque script bash commence par la ligne :

#!/bin/bash

Cette ligne s'appelle le shebang et indique au système qu'il doit utiliser l'interpréteur /bin/bash pour exécuter le script. Sans ça, le système va juste regarder ton script, soupirer tristement et ne rien faire.

Étape 3 : Script basique

Crea un script simple qui affiche du texte "Salut, monde !" sur l'écran. Après tout, pourquoi pas ?

  1. Créer un fichier :

    nano hello_world.sh
    
  2. Ajouter les lignes :

    #!/bin/bash
    echo "Salut, monde !"
  3. Rendre le fichier exécutable :

    chmod +x hello_world.sh
    
  4. Lancer le script :

    ./hello_world.sh
    

Sur l'écran, tu verras :

Salut, monde !

3. Travailler avec des variables

Les variables sont comme des réservoirs de données dans ton script. Elles rendent les scripts flexibles et pratiques.

Créer des variables

Pour déclarer une variable, utilise le format suivant :

NOM_DE_VARIABLE="valeur"

Exemple :

NAME="Linux"
echo "Bienvenue à $NAME!"

Résultat :

Bienvenue à Linux!

Attention : il est interdit de mettre des espaces entre le nom de la variable et le signe =. Si tu en mets, bash va penser que tu essaies d'écrire quelque chose de bizarre et cela générera une erreur.

Variables intégrées

Bash propose plusieurs variables prédéfinies, comme :

  • $USER — utilisateur actuel.
  • $HOME — répertoire personnel.
  • $PWD — répertoire de travail actuel.

Essaie ce script :

#!/bin/bash
echo "Salut, $USER!"
echo "Ton répertoire personnel : $HOME"
echo "Tu travailles ici en ce moment : $PWD"

4. Obtenir des données de l'utilisateur

Parfois, un script doit obtenir des données de l'utilisateur pour fonctionner. Pour cela, on utilise la commande read.

Exemple :

#!/bin/bash
echo "Comment tu t'appelles ?"
read NAME
echo "Salut, $NAME !"

En lançant le script, tu pourras entrer ton nom, et le script te saluera personnellement.


5. Utilisation des commandes dans un script

Bash te permet d'exécuter des commandes comme si tu les tapais dans un terminal.

Par exemple :

#!/bin/bash
echo "Date et heure actuelles :"
date

La commande date affichera l'heure et la date actuelles, par exemple :

Date et heure actuelles :
Mon Oct 30 12:34:56 UTC 2023

Enregistrer le résultat d'une commande dans une variable

Tu peux enregistrer la sortie d'une commande dans une variable en utilisant $(). C'est pratique pour le traitement ultérieur des données.

Exemple :

#!/bin/bash
CURRENT_DATE=$(date)
echo "Maintenant : $CURRENT_DATE"

6. Commentaires dans les scripts

Ajoute toujours des commentaires pour pouvoir comprendre ce que tu as écrit dans un mois. Utilise le symbole # pour les commentaires :

#!/bin/bash
# Ceci est un script de bienvenue
echo "Bienvenue dans le monde de Bash !" 

Les commentaires sont ignorés par l'interpréteur et n'affectent pas l'exécution.


7. Exemple

Écrivons maintenant un script qui vérifie si un fichier existe.

  1. Créons un fichier :

    nano file_checker.sh
    
  2. Ajoutons le code :

    #!/bin/bash
    
    # Demande du nom de fichier
    echo "Entrez le nom du fichier :"
    read FILE_NAME
    
    # Vérifie si le fichier existe
    if [ -f "$FILE_NAME" ]; then
        echo "Le fichier $FILE_NAME existe."
    else
        echo "Le fichier $FILE_NAME est introuvable."
    fi
  3. Rendons le fichier exécutable et lançons-le :

    chmod +x file_checker.sh
    ./file_checker.sh
    
  4. Exemple de fonctionnement du script :

    Entrez le nom du fichier :
    test.txt
    Le fichier test.txt existe.
    

8. Erreurs typiques

Travailler avec des scripts bash, c'est super cool, mais parfois, tu peux te creuser sérieusement la tête. Voici quelques erreurs fréquentes :

  1. Shebang manquant.
    Sans la ligne #!/bin/bash, ton script peut essayer de s'exécuter dans un autre interpréteur, ce qui causera des erreurs.

  2. Variables non déclarées.
    Si tu fais une faute de frappe dans le nom d'une variable, bash l'interprétera comme vide. Active le mode de vérification stricte avec set -u au début du script.

  3. Espaces autour de =.
    Évite d'écrire ça : VARIABLE = "valeur". Ça génèrera une erreur.

  4. Problèmes de permissions.
    Si ton script n'a pas la permission d'exécution, ajoute-là avec chmod +x.

Exercice pratique

  1. Écris un script qui :

    • Demande le nom de l'utilisateur.
    • Affiche une phrase de bienvenue.
    • Montre la date et l'heure actuelles.
  2. Écris un script qui :

    • Demande à l'utilisateur un nom de fichier.
    • Crée le fichier s'il n'existe pas, ou informe que le fichier est déjà là.

Voilà, tu connais maintenant les bases des scripts bash ! Il ne reste plus qu'à apprendre à ajouter des conditions et des boucles, mais ça, c'est pour la prochaine leçon. Allez, en avant pour automatiser le monde !

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION