0Pricing
DevOps Bootcamp · Leçon

Fonctions du shell et extraits réutilisables

Définissez et utilisez des fonctions Bash pour regrouper des commandes en blocs réutilisables et paramétrés pour votre shell.

Fonctions du shell et extraits réutilisables est une leçon DevOps Bootcamp 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 DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.

Pourquoi utiliser des fonctions shell ?

Une fonction shell regroupe plusieurs commandes sous un même nom afin que vous puissiez les réutiliser sans les retaper.

  • Plus rapide que de copier-coller des commandes
  • Plus propre que de longs alias
  • Peut accepter des arguments, contrairement aux alias
mkcd() {
  mkdir -p "$1" && cd "$1"
}

Définir une fonction

La forme la plus simple utilise la syntaxe name() { ... }. Les commandes entre les accolades s’exécutent lorsque vous appelez la fonction par son nom.

greet() {
  echo "Hello from a function"
}
greet

Arguments d’une fonction

Les fonctions reçoivent des paramètres positionnels, comme les scripts : $1, $2. $# contient le nombre d’arguments et $@ les développe tous.

backup() {
  cp "$1" "$1.bak"
  echo "Backed up $1"
}
backup notes.txt

Valeurs de retour et état de sortie

Les fonctions renvoient un état de sortie avec return N (0 à 255). Utilisez-le pour vérifier la réussite ou l’échec, pas pour renvoyer des données.

is_root() {
  [ "$(id -u)" -eq 0 ] && return 0 || return 1
}
if is_root; then echo root; else echo normal; fi

Renvoyer une sortie avec echo

Comme return ne transporte qu’un code d’état, la sortie réelle est affichée et capturée avec $( ).

timestamp() {
  date +%Y%m%d-%H%M%S
}
name="log-$(timestamp).txt"
echo "$name"

Variables locales

Par défaut, les variables définies dans les fonctions sont globales. Utilisez local pour limiter la portée d’une variable à la fonction et éviter d’encombrer votre shell.

count_lines() {
  local n
  n=$(wc -l < "$1")
  echo "$1 has $n lines"
}

Valeurs d’arguments par défaut

Utilisez l’expansion de paramètre ${1:-default} pour utiliser une valeur par défaut lorsqu’un argument est manquant.

say() {
  local msg="${1:-Hello World}"
  echo "$msg"
}
say
say "Custom message"

Fonctions ou alias

Les alias remplacent simplement du texte et ne permettent pas de gérer proprement les arguments positionnels. Les fonctions peuvent effectuer des branchements, des boucles et traiter des données en entrée.

  • Utilisez un alias pour un raccourci fixe
  • Utilisez une fonction lorsque vous avez besoin de logique ou d'arguments
alias ll='ls -la'
lt() { ls -la "${1:-.}" | tail -n "${2:-5}"; }

Rendre les fonctions persistantes

Les fonctions définies à l’invite disparaissent lorsque le shell se ferme. Ajoutez-les à ~/.bashrc pour les rendre disponibles dans chaque session.

# Append to ~/.bashrc
extract() {
  case "$1" in
    *.tar.gz) tar xzf "$1" ;;
    *.zip)    unzip "$1" ;;
    *)        echo "Unknown format" ;;
  esac
}

Lister et supprimer des fonctions

declare -F liste les noms des fonctions ; declare -f name affiche leur corps. Supprimez une fonction avec unset -f name.

declare -F
declare -f greet
unset -f greet

Composer des fonctions

Les fonctions peuvent appeler d’autres fonctions, ce qui permet de combiner de petits éléments réutilisables pour créer des outils plus complets.

log() { echo "[$(date +%T)] $*"; }
deploy() {
  log "Starting deploy"
  log "Done"
}
deploy

Vérification rapide

Vérifiez votre compréhension des fonctions du shell.

Récapitulatif

Vous avez appris à créer des fonctions réutilisables du shell :

  • Définissez-les avec name() { ... } et appelez-les par leur nom
  • Utilisez $1, $@ et $# pour les arguments, et return pour le statut
  • Définissez la portée des variables avec local et renvoyez des données via echo
  • Rendez-les persistantes dans ~/.bashrc et examinez-les avec declare -f

Questions Fréquemment Posées

La leçon « Fonctions du shell et extraits réutilisables » est-elle gratuite ?

Oui — le texte complet de « Fonctions du shell et extraits 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 DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Fonctions du shell et extraits réutilisables » ?

Définissez et utilisez des fonctions Bash pour regrouper des commandes en blocs réutilisables et paramétrés pour votre shell. Tu pratiques DevOps Bootcamp 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 DevOps Bootcamp ?

Aucune expérience préalable n'est requise. DevOps Bootcamp 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 du shell et extraits 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 DevOps Bootcamp ?

Oui. Chaque leçon DevOps Bootcamp 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. Gestion des tâches (bg, fg, jobs)
  2. Expansion du Shell et recherche par motifs
  3. Alias et invites personnalisées
  4. Fonctions du shell et extraits réutilisables
← Retour à DevOps Bootcamp