Aller au contenu principal

Chapitre 6.1 - Introduction au Scripting Shell

Objectifs d'Apprentissage​

À la fin de ce chapitre, vous serez capable de:

  • Comprendre ce qu'est un script shell
  • Créer votre premier script Bash
  • Comprendre le shebang
  • Rendre un script exécutable
  • Utiliser les variables de base

Qu'est-ce qu'un Script Shell?​

Un script shell est un fichier contenant une série de commandes shell qui sont exécutées séquentiellement. C'est un moyen puissant d'automatiser des tâches.

Avantages:

  • Automatisation de tâches répétitives
  • Combinaison de commandes complexes
  • Réutilisabilité
  • Planification avec cron

Premier Script​

Créer un Script​

#!/bin/bash
# Mon premier script
echo "Bonjour Linux!"
echo "Date: $(date)"
echo "Utilisateur: $(whoami)"

Étapes:

  1. Créer le fichier: nano mon_script.sh
  2. Ajouter le contenu ci-dessus
  3. Rendre exécutable: chmod +x mon_script.sh
  4. Exécuter: ./mon_script.sh

Shebang​

La première ligne #!/bin/bash est le shebang:

  • Indique quel interpréteur utiliser
  • Nécessaire pour exécution directe
  • Alternatives: #!/bin/sh, #!/usr/bin/env bash

Variables​

Déclaration​

#!/bin/bash
# Variables simples
NOM="Linux"
VERSION=6.1
ACTIF=true

# Utilisation
echo "Nom: $NOM"
echo "Version: $VERSION"
echo "Actif: $ACTIF"

Règles:

  • Pas d'espaces autour du =
  • Guillemets pour chaînes avec espaces
  • $ pour utiliser la variable

Variables d'Environnement​

#!/bin/bash
# Variables système
echo "Home: $HOME"
echo "User: $USER"
echo "Path: $PATH"
echo "PWD: $PWD"

Variables Spéciales​

#!/bin/bash
echo "Nom du script: $0"
echo "Premier argument: $1"
echo "Deuxième argument: $2"
echo "Nombre d'arguments: $#"
echo "Tous les arguments: $@"
echo "Code de retour: $?"

Lecture d'Entrée​

read​

#!/bin/bash
# Lire une entrée
echo "Entrez votre nom:"
read NOM
echo "Bonjour $NOM!"

# Avec prompt intégré
read -p "Entrez votre âge: " AGE
echo "Vous avez $AGE ans"

# Lecture silencieuse (mot de passe)
read -s -p "Mot de passe: " PASS
echo

Commentaires​

#!/bin/bash
# Commentaire sur une ligne

# Commentaire
# sur plusieurs lignes

# Commentaire en fin de ligne
COMMANDE # Explication

Exemple Complet​

#!/bin/bash
# Script d'exemple
# Auteur: Votre nom
# Date: $(date +%Y-%m-%d)

# Variables
NOM_SCRIPT="mon_script.sh"
VERSION="1.0"

# Fonction principale
main() {
echo "=== $NOM_SCRIPT v$VERSION ==="
echo "Date: $(date)"
echo "Utilisateur: $USER"
echo "Répertoire: $PWD"
echo "Arguments: $#"

if [ $# -gt 0 ]; then
echo "Premier argument: $1"
fi
}

# Exécution
main "$@"

Exécution​

Méthodes​

# 1. Exécution directe (nécessite shebang et chmod +x)
./mon_script.sh

# 2. Avec bash explicite
bash mon_script.sh

# 3. Avec sh
sh mon_script.sh

# 4. Sourcer (exécute dans shell actuel)
source mon_script.sh
. mon_script.sh # Raccourci

Bonnes Pratiques​

Structure​

#!/bin/bash
# 1. Shebang
# 2. Commentaires de header
# 3. Variables globales
# 4. Fonctions
# 5. Code principal

Options Utiles​

#!/bin/bash
set -e # Arrêter sur erreur
set -u # Erreur si variable non définie
set -o pipefail # Erreur dans pipeline

# Ou combiner
set -euo pipefail

Résumé​

Dans ce chapitre, vous avez appris:

Script shell: Fichier de commandes exécutables
Shebang: #!/bin/bash pour indiquer l'interpréteur
Variables: Déclaration et utilisation avec $
Lecture: read pour entrée utilisateur
Exécution: ./script.sh, bash script.sh, source script.sh
Bonnes pratiques: Structure, set -e, commentaires


Prochaines Étapes​

Chapitre 6.2: Variables et Paramètres
Chapitre 6.3: Structures de Contrôle


Chapitre créé le: Décembre 2024