0Pricing
Linux Server Deployment & SSH Mastery · Leçon

Fonctions, arguments et scripts réutilisables

Rendez vos scripts Bash modulaires et faciles à maintenir : définissez des fonctions, transmettez et validez des arguments de ligne de commande, renvoyez des valeurs et structurez des scripts réutilisables pour de nombreuses tâches d’automatisation de serveurs.

Fonctions, arguments et scripts réutilisables est une leçon Linux Server Deployment & SSH Mastery gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Linux Server Deployment & SSH Mastery, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Linux Server Deployment & SSH Mastery comprend 4 leçons au total.

Des scripts aux outils

Vous savez écrire des scripts, automatiser des tâches et gérer les erreurs. L’étape suivante consiste à rendre les scripts réutilisables : organiser le code en fonctions qui acceptent des arguments, afin qu’un même script puisse servir dans de nombreuses situations.

C’est ainsi que des scripts provisoires deviennent de véritables outils d’administration.

Définir une fonction

Une fonction Bash regroupe des commandes sous un nom. Définissez-la une fois et appelez-la autant de fois que nécessaire. Le corps se trouve entre des accolades.

greet() {
  echo 'Hello from the function!'
}

greet

Transmettre des arguments aux fonctions

Les fonctions reçoivent les arguments par position : $1, $2, etc. $@ représente tous les arguments et $# en indique le nombre.

greet() {
  echo "Hello, $1! You are $2 years old."
}

greet Alice 30

Arguments au niveau du script

Les mêmes variables positionnelles fonctionnent pour l’ensemble du script. Exécutez ./deploy.sh staging v2 et le script interprète $1 comme « staging » et $2 comme « v2 ».

#!/bin/bash
ENV=$1
VERSION=$2
echo "Deploying $VERSION to $ENV"

Valider les arguments

Les outils robustes vérifient leurs entrées. Vérifiez le nombre attendu d’arguments et quittez en affichant un message d’utilisation s’ils sont manquants.

if [ $# -lt 2 ]; then
  echo "Usage: $0 <env> <version>"
  exit 1
fi

Renvoyer un état depuis les fonctions

Les fonctions renvoient un état de sortie via return (0 = réussite). Les appelants le vérifient avec $? ou directement dans un if.

is_root() {
  [ "$(id -u)" -eq 0 ]
}

if is_root; then echo 'root'; else echo 'not root'; fi

Renvoyer des données depuis les fonctions

Pour renvoyer des données réelles (et pas seulement un état), affichez-les avec echo et capturez-les à l’aide d’une substitution de commande. L’appelant affecte la sortie à une variable.

timestamp() {
  date +%Y%m%d_%H%M%S
}

NOW=$(timestamp)
echo "Backup name: backup_$NOW"

Variables locales

Par défaut, les variables Bash sont globales, ce qui provoque des erreurs entre les fonctions. Déclarez les variables internes aux fonctions avec local pour les isoler.

add() {
  local result=$(( $1 + $2 ))
  echo $result
}

echo "Sum: $(add 3 4)"

Valeurs par défaut et options nommées

Fournissez des valeurs par défaut pertinentes avec l’expansion des paramètres et analysez les options pour rendre les outils plus faciles à utiliser.

  • ${1:-default} — utilise « default » si $1 n’est pas défini
  • getopts — analyse les options de type -v ou -f file
ENV=${1:-staging}
echo "Target environment: $ENV"

Charger une bibliothèque de fonctions

Placez les fonctions partagées dans leur propre fichier et utilisez source depuis plusieurs scripts pour le charger. Cela évite de copier-coller les fonctions utilitaires partout.

# in lib.sh: define log(), is_root(), etc.
source ./lib.sh
log 'Starting deployment'

Bonnes pratiques

Écrivez des scripts faciles à maintenir :

  • Décomposez la logique en petites fonctions nommées
  • Validez toujours les arguments et affichez l’utilisation
  • Utilisez local pour les variables des fonctions
  • Partagez les fonctions utilitaires via un fichier de bibliothèque chargé avec source

Vérification rapide

Testez vos connaissances sur les fonctions Bash.

Récapitulatif

Vous savez désormais créer des outils Bash réutilisables :

  • Définir des fonctions et les appeler à plusieurs reprises
  • Transmettre et valider des arguments ($1, $@, $#)
  • Renvoyer un état avec return et des données via echo et la substitution de commande
  • Utiliser des variables local et des bibliothèques partagées avec source

Ces modèles transforment des scripts ponctuels en boîte à outils d’automatisation facile à maintenir.

Questions Fréquemment Posées

La leçon « Fonctions, arguments et scripts réutilisables » est-elle gratuite ?

Oui — le texte complet de « Fonctions, arguments et scripts réutilisables » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Linux Server Deployment & SSH Mastery, passe à CoddyKit PRO. Le cours Linux Server Deployment & SSH Mastery comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Fonctions, arguments et scripts réutilisables » ?

Rendez vos scripts Bash modulaires et faciles à maintenir : définissez des fonctions, transmettez et validez des arguments de ligne de commande, renvoyez des valeurs et structurez des scripts réutili… Tu pratiques Linux Server Deployment & SSH Mastery avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Linux Server Deployment & SSH Mastery ?

Aucune expérience préalable n'est requise. Linux Server Deployment & SSH Mastery sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Fonctions, arguments et scripts réutilisables » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Linux Server Deployment & SSH Mastery ?

Oui. Chaque leçon Linux Server Deployment & SSH Mastery inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Introduction aux scripts Bash
  2. Automatiser les tâches du serveur
  3. Gestion des erreurs et journalisation dans les scripts
  4. Fonctions, arguments et scripts réutilisables
← Retour à Linux Server Deployment & SSH Mastery