420-1Q1-AA Help

Le scripting BASH

1. Introduction au Scripting Bash

Un script Bash est simplement un fichier texte contenant une série de commandes que le système peut exécuter comme un programme.

Les scripts sont souvent utilisés pour automatiser des tâches administratives.

Structure de base d'un script

Pour créer un script Bash :

  1. Créer un fichier: Par exemple, mon_script.sh.

  2. Déclarer l’interpréteur: La première ligne du script doit indiquer quel interpréteur utiliser (ici, /bin/bash).

  3. Donner des permissions d’exécution: Utilisez chmod pour permettre l'exécution du script.

Exemple:

#!/bin/bash echo "Bonjour, ceci est un script Bash !"

Pour exécuter ce script, on utilise :

chmod +x mon_script.sh # Donne la permission d'exécution ./mon_script.sh # Exécute le script

2. Commandes et Structures de Contrôle de Base

echo

  • Utilisée pour afficher un texte à l’écran.

Exemple:

echo "Bienvenue dans le scripting Bash !"

read

  • Permet de lire une entrée utilisateur.

Exemple:

echo "Quel est votre nom ?" read nom echo "Bonjour, $nom !"

Variables

  • Les variables sont définies sans espaces autour du signe = et sont appelées en utilisant le symbole $.

Exemple:

nom="Alice" echo "Bonjour, $nom !"

Structures de Contrôle

  1. Conditions : if-else

    Exemple:

    age=18 if [ $age -ge 18 ]; then echo "Vous êtes majeur." else echo "Vous êtes mineur." fi
  2. Boucles : for, while

    • for: Utilisée pour parcourir une liste d'éléments.

    Exemple:

    for i in 1 2 3; do echo "Nombre : $i" done
    • while: Exécute des instructions tant qu'une condition est vraie.

    Exemple:

    compteur=1 while [ $compteur -le 5 ]; do echo "Compteur : $compteur" compteur=$((compteur + 1)) done
  3. Case: Permet de gérer plusieurs options.

    Exemple:

    echo "Entrez une lettre :" read lettre case $lettre in a) echo "Lettre A" ;; b) echo "Lettre B" ;; *) echo "Autre lettre" ;; esac

3. Commandes et Concepts Avancés

Fonctions

Les fonctions permettent de regrouper des blocs de code réutilisables.

Exemple:

#!/bin/bash saluer() { echo "Bonjour, $1" } saluer "Alice"

Arguments de ligne de commande

Les scripts peuvent recevoir des arguments au moment de l'exécution.

Exemple:

#!/bin/bash echo "Nom du script : $0" echo "Premier argument : $1" echo "Deuxième argument : $2"

Redirection et Pipes

  1. Redirection: Permet de rediriger l’entrée ou la sortie.

    • >: Redirige la sortie vers un fichier (écrase).

    • >>: Redirige la sortie vers un fichier (ajoute).

    • <: Redirige l’entrée depuis un fichier.

    Exemple:

    echo "Hello" > fichier.txt echo "Ajout" >> fichier.txt
  2. Pipes: Envoie la sortie d'une commande à l'entrée d'une autre commande.

    Exemple:

    ls -l | grep ".txt"

4. Création d'un Script Bash Complet

Voici un exemple de script Bash qui combine plusieurs commandes pour automatiser une tâche :

#!/bin/bash # Script de sauvegarde # Création du répertoire de sauvegarde sauvegarde_dir="sauvegarde_$(date +%Y-%m-%d)" mkdir -p $sauvegarde_dir # Sauvegarde des fichiers for fichier in *.txt; do cp $fichier $sauvegarde_dir/ done # Création d'une archive compressée tar -czvf sauvegarde.tar.gz $sauvegarde_dir echo "Sauvegarde complétée dans $sauvegarde_dir et compressée en sauvegarde.tar.gz"
Last modified: 18 November 2024