🔧

Fondamentaux

💡 Le shebang en première ligne indique au système comment exécuter le script.
#!/bin/bash # Shebang obligatoire echo "Hello World!" # Affichage simple echo 'Ligne 1'; echo 'Ligne 2' # Plusieurs commandes
Terminal
$ echo "Hello World!"
Hello World!
🎯 Essayez : Créez votre premier script avec nano hello.sh
📦

Variables

⚠️ Attention : Pas d'espaces autour du signe = lors de la déclaration !
VAR="texte" # Déclaration correcte echo $VAR # Utilisation echo "Value: $VAR" # Dans une chaîne echo '$VAR' # Pas d'expansion
💡 Variables spéciales : $?, $$, $#, $@, $1, $2...
echo "Code retour: $?" # Statut dernière commande echo "PID: $$" # ID du processus echo "Arguments: $#" # Nombre de paramètres
🔍

Expansion Avancée

TEXT="Hello World" echo ${TEXT} # Forme explicite echo ${TEXT/Hello/Hi} # Substitution echo ${TEXT:0:5} # Sous-chaîne (0-5) echo ${TEXT: -5} # 5 derniers caractères echo ${#TEXT} # Longueur echo ${VAR:-"défaut"} # Valeur par défaut
🔀

Structures Conditionnelles

💡 Règle d'or : Toujours entourer les variables de guillemets dans les tests
if [ "$USER" = "admin" ]; then   echo "Administrateur connecté" elif [ $UID -eq 0 ]; then   echo "Utilisateur root" else   echo "Utilisateur standard" fi
# Opérateurs logiques command1 && command2 # ET logique command1 || command2 # OU logique
🔄

Boucles

# Boucle for avec séquence for i in {1..5}; do   echo "Itération $i" done
# Boucle for style C for ((i=0; i<10; i++)); do   echo $i done
# Boucle while while read line; do   echo "Lu: $line" done < fichier.txt
💡

Astuces Pro

set -e # Arrêt sur erreur set -x # Mode debug set -u # Erreur sur variable non définie
🎯 Bonnes pratiques :
  • Utilisez shellcheck pour valider vos scripts
  • Indentez votre code pour la lisibilité
  • Commentez les parties complexes
  • Utilisez des noms de variables explicites
# Tests utiles [ -f file.txt ] # Fichier existe [ -d directory ] # Dossier existe [ -x script.sh ] # Fichier exécutable [ -z "$VAR" ] # Variable vide