0 XP
?
Linux pour développeurs/Shell scripting
Débutant45 min30 XP

Objectifs de cette leçon

  • Écrire un script bash
  • Utiliser les variables et les conditions
  • Créer des boucles
  • Tester l'existence de fichiers

Shell scripting (Bash) 📝

Les bases du Bash

#!/bin/bash
echo "Bonjour, $(whoami) !"
echo "Date : $(date)"

Variables

NOM="Alice"
AGE=25
read -p "Ton prénom : " PRENOM
echo "Bonjour $PRENOM !"

⚠️ Pas d'espace autour du =


Conditions

read -p "Nombre : " NOMBRE

if [ "$NOMBRE" -gt 10 ]; then
    echo "Grand"
elif [ "$NOMBRE" -gt 0 ]; then
    echo "Positif"
else
    echo "Négatif ou zéro"
fi

Boucles

for i in 1 2 3 4 5; do echo "Tour $i"; done
for i in {1..10}; do echo "$i"; done

COMPTEUR=0
while [ "$COMPTEUR" -lt 5 ]; do
    echo "$COMPTEUR"
    COMPTEUR=$((COMPTEUR + 1))
done

for fichier in *.js; do echo "$fichier"; done

Fonctions

saluer() {
    local nom=$1
    echo "Bonjour, $nom !"
}
saluer "Alice"

Script pratique : backup

#!/bin/bash
SOURCE="/var/www/monsite"
DEST="/backups"
DATE=$(date +%Y-%m-%d_%H-%M)
mkdir -p "$DEST"
tar -czf "$DEST/backup_$DATE.tar.gz" "$SOURCE"
echo "✅ Backup créé"

Résumé

SyntaxeDescription
#!/bin/bashShebang
VAR="val"Variable
if [ cond ]; thenCondition
for i in ...; doBoucle for
while [ cond ]; doBoucle while
fonction() { }Fonction
$1, $2Arguments

Exercices 🎯

  1. Script qui affiche la table de multiplication
  2. Script qui liste les fichiers .js et leur taille
  3. Script de backup avec la date du jour

⚡ Simulateur — Shell scripting

Étape 1/5
📝 Pseudo-code
1#!/bin/bash
2NAME="Alice"
3echo "Bonjour $NAME"
4for i in 1 2 3; do echo $i; done
5if [ -f "file.txt" ]; then echo "existe"; fi
⚙️ Exécution
📦 Mémoire
type
script bash
🔀 Flux d'exécution
#!/bin/bash
3
Shebang du script

#!/bin/bash est la ligne shebang. Elle indique au système d'exploitation d'utiliser bash pour interpréter le script. Toujours en première ligne.