Introduction au scripting Bash

Objectif : apprendre à créer et exécuter ses premiers scripts Bash sous Linux.

Introduction au scripting Bash

Qu’est-ce qu’un script Bash ?

  • Un fichier texte contenant une série de commandes Bash.
  • Il permet d’automatiser des tâches répétitives.
  • Exemple : sauvegarder des fichiers, renommer plusieurs documents, ou afficher un message.

Bash est l’interpréteur de commandes par défaut dans la plupart des systèmes Linux.

Introduction au scripting Bash

Premier script : Hello World

#!/usr/bin/env bash
echo "Bonjour tout le monde !"

Étapes :

  1. Sauvegarder le fichier sous le nom bonjour.sh
  2. Rendre le fichier exécutable :
    chmod +x bonjour.sh
  3. L’exécuter :
    ./bonjour.sh
Introduction au scripting Bash

Le shebang

La première ligne du script :

#!/usr/bin/env bash
  • Indique quel programme doit exécuter le script.
  • Ici : Bash, l’interpréteur de commandes.
  • C’est une bonne pratique pour que le script fonctionne sur plusieurs systèmes.
Introduction au scripting Bash

Afficher du texte

echo "Bonjour !"
echo "Aujourd’hui, nous apprenons Bash."
  • echo affiche du texte à l’écran.
  • Les guillemets ne sont pas toujours obligatoires, mais ils évitent les erreurs.
Introduction au scripting Bash

Variables

Une variable sert à stocker une valeur (texte, nombre…).

prenom="Alice"
echo "Bonjour $prenom"
  • Ne pas mettre d’espaces autour du =.
  • Pour utiliser une variable, on la préfixe par $.
  • Les guillemets " " permettent d’afficher correctement les espaces.
Introduction au scripting Bash

Lire une saisie utilisateur (interactif)

echo "Quel est ton nom ?"
read nom
echo "Enchanté, $nom !"
  • read permet de demander une valeur à l’utilisateur.
  • La réponse est stockée dans une variable.
Introduction au scripting Bash

Arguments positionnels (1)

Les arguments positionnels sont les valeurs passées à un script lors de son exécution.

#!/usr/bin/env bash
echo "Nom du script : $0"
echo "Premier argument : $1"
echo "Deuxième argument : $2"
Introduction au scripting Bash

Arguments positionnels (2)

Exécution :

./mon_script.sh Pierre Olivier

Résultat :

Nom du script : ./mon_script.sh
Premier argument : Pierre
Deuxième argument : Olivier

$0 : nom du script — $1, $2, $3… : arguments — $@ : tous les arguments.

Introduction au scripting Bash

Commandes dans une autre commande

aujourdhui=$(date)
echo "Nous sommes le $aujourdhui"
  • La syntaxe $(commande) exécute une commande et récupère son résultat.
Introduction au scripting Bash

Les doubles parenthèses (( ))

Les doubles parenthèses servent à faire des calculs arithmétiques dans Bash.

x=5
y=3
((somme = x + y))
echo "La somme est $somme"
  • Pas besoin d’utiliser $ à l’intérieur des parenthèses.
  • Elles permettent les opérateurs +, -, *, /, %, ++, --, etc.
Introduction au scripting Bash

Codes de retour

Chaque commande renvoie un code pour indiquer si elle a réussi :

  • 0 → succès
  • autre → erreur
echo "Test"
echo $?   # affiche 0 si la commande précédente a réussi
Introduction au scripting Bash

Bonnes pratiques

  • Toujours commencer par un shebang.
  • Donner des noms clairs aux scripts et aux variables.
  • Tester souvent votre script avec de petites étapes.
  • Ajouter des commentaires avec # pour expliquer ce que fait chaque ligne.
# Ceci est un commentaire
echo "Début du script"
Introduction au scripting Bash

Exercice pratique

  1. Crée un fichier bonjour.sh qui :
    • Affiche un message de bienvenue.
    • Demande le nom de l’utilisateur.
    • Affiche “Bonjour [nom] !”.
  2. Rends-le exécutable et exécute-le.
  3. Bonus 1 : ajoute la date du jour à ton message.
  4. Bonus 2 : ajoute deux arguments et affiche-les.
Introduction au scripting Bash