Skip to content

Instantly share code, notes, and snippets.

@mcgivrer
Created January 19, 2026 08:49
Show Gist options
  • Select an option

  • Save mcgivrer/bf813219c9613c5b1c516d5c8e61a353 to your computer and use it in GitHub Desktop.

Select an option

Save mcgivrer/bf813219c9613c5b1c516d5c8e61a353 to your computer and use it in GitHub Desktop.

Règles de Codage pour les Scripts Bash

1. Shebang

Commencez chaque script par une ligne shebang pour indiquer l'interpréteur à utiliser :

#!/bin/bash

2. Permissions

Assurez-vous que le script a les permissions d'exécution :

chmod +x nom_du_script.sh

3. Commentaires

Utilisez des commentaires pour expliquer le code :

# Ceci est un commentaire

4. Variables

Déclaration de Variables

  • Déclarez les variables sans espaces autour du signe égal :
nom="valeur"
  • Valeurs par défaut : Utilisez la syntaxe ${variable:-valeur_par_defaut} pour définir une valeur par défaut si la variable n'est pas définie :
nom=${nom:-"valeur_par_defaut"}

Traitement de Variables

  • Mise en majuscules :
majuscule=${nom^^}
  • Mise en minuscules :
minuscule=${nom,,}
  • Capitalisation (première lettre en majuscule) :
capitalise=${nom^}
  • Remplacement de caractères à la volée : Utilisez la syntaxe ${variable//ancien/nouveau} pour remplacer tous les occurrences d'une sous-chaîne par une autre :
nouveau_nom=${nom//ancien/valeur_nouvelle}

5. Paramètres d'Entrée

Les scripts Bash peuvent recevoir des paramètres d'entrée, qui peuvent être traités de différentes manières :

  • $1, $2, ... : Représentent les premiers paramètres passés au script. Par exemple, $1 est le premier argument, $2 est le deuxième, etc.

    echo "Premier paramètre : $1"
  • $# : Indique le nombre total de paramètres passés au script.

    echo "Nombre de paramètres : $#"
  • $@ : Représente tous les paramètres passés au script, en tant que liste. Utilisé dans une boucle pour traiter chaque argument.

    for param in "$@"; do
        echo "Paramètre : $param"
    done
  • $* : Semblable à $@, mais tous les paramètres sont traités comme une seule chaîne.

    echo "Tous les paramètres : $*"
  • $? : Représente le code de retour de la dernière commande exécutée.

    echo "Code de retour : $?"

6. Conditions

Utilisez if, then, else pour les structures conditionnelles :

if [ condition ]; then
    # commandes
else
    # autres commandes
fi

7. Structures switch case

Utilisez case pour gérer plusieurs conditions de manière plus lisible. Vous pouvez traiter plusieurs valeurs possibles en les séparant par des espaces :

case $variable in
    valeur1 | valeur2 | valeur3)
        # commandes pour valeur1, valeur2 ou valeur3
        ;;
    valeur4)
        # commandes pour valeur4
        ;;
    *)
        # commandes par défaut
        ;;
esac

8. Fonctions

Exemples de Fonctions

Fonction Simple (sans paramètres)

ma_fonction_simple() {
    echo "Ceci est une fonction simple."
}

# Appel de la fonction
ma_fonction_simple

Fonction avec Paramètres

ma_fonction_avec_parametres() {
    param1=$1
    param2=$2
    echo "Paramètre 1 : $param1"
    echo "Paramètre 2 : $param2"
}

# Appel de la fonction avec des paramètres
ma_fonction_avec_parametres "valeur1" "valeur2"

Fonction Complexe (avec traitement et plusieurs paramètres)

ma_fonction_complexe() {
    nom=$1
    age=$2

    if [ "$age" -lt 18 ]; then
        echo "$nom est mineur."
    else
        echo "$nom est majeur."
    fi
}

# Appel de la fonction complexe
ma_fonction_complexe "Alice" 20
ma_fonction_complexe "Bob" 15

9. Tests de Variables

Comparateurs pour les Tests

  • Comparaison de chaînes :
    • Égal : ==
    • Différent : !=
    • Moins que : <
    • Plus que : >

Exemple :

if [ "$chaine1" == "$chaine2" ]; then
    echo "Les chaînes sont identiques"
fi
  • Comparaison numérique :
    • Égal : -eq
    • Différent : -ne
    • Moins que : -lt
    • Plus que : -gt
    • Moins ou égal : -le
    • Plus ou égal : -ge

Exemple :

if [ "$nombre1" -lt "$nombre2" ]; then
    echo "$nombre1 est inférieur à $nombre2"
fi

10. Boucles

Utilisez des boucles for, while ou until pour itérer :

for i in {1..5}; do
    echo $i
done

11. Gestion des Erreurs

Vérifiez les erreurs avec $? et utilisez set -e pour arrêter le script en cas d'erreur :

set -e

12. Utilisation de set

  • Utilisez set -u pour traiter les variables non définies comme des erreurs :
set -u

13. Sortie

Utilisez echo pour afficher des messages ou des résultats :

echo "Message"

14. Utilisation de trap

Utilisez trap pour gérer les signaux et nettoyer avant la sortie :

trap 'commande_de_nettoyage' EXIT

15. Bonnes Pratiques

  • Évitez les noms de variables ambigus.
  • Utilisez des noms de fichiers descriptifs.
  • Testez vos scripts dans un environnement sûr avant de les exécuter en production.

Ce recueil inclut maintenant des exemples de fonctions simples et complexes, avec et sans paramètres, offrant ainsi une référence complète pour le codage de scripts Bash.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment