Bash
Apprenez le scripting Bash, des variables aux scripts robustes prêts pour la production. Boucles, tableaux, traps, set -euo pipefail et un projet final de bootstrap serveur.
12 leçons, dans l’ordre
- 120 min
Qu'est-ce que Bash
Bienvenue. Si vous n'avez jamais ouvert un terminal de votre vie, vous êtes au bon endroit. Avant de taper la moindre commande, nous allons passer...
Shell vs terminalBash vs sh vs zshInteractive shell vs scriptWhere Bash fits in DevOps - 225 min
Le shebang et votre premier script
Si le mot « script » vous évoque encore quelque chose que seuls les vrais programmeurs écrivent, rassurez-vous. Un script n'est rien d'autre qu'un...
Shebang#!/usr/bin/env bashChmod +x./script.sh vs bash script.shExit codes - 325 min
Variables et guillemets
Si vous n'avez jamais utilisé de variable, rassurez-vous. C'est l'une des idées les plus simples de tout ce cours, et la version qu'en propose Bash...
Variable assignmentDouble quotes vs single quotes${var} bracesCommand substitution $(...) - 430 min
Conditions et tests
Tous les scripts que vous avez écrits jusqu'ici exécutent les mêmes lignes quoi qu'il arrive. Un vrai script doit prendre des décisions : ne faire...
If statement[[ ]] testsString testsFile tests -f -d -e&& and ||Case statement - 525 min
Boucles
Jusqu'ici, chaque script que vous avez écrit exécute chaque ligne exactement une fois, du haut vers le bas. C'est très bien pour de courts scripts,...
For loopWhile loopUntil loopFor f in *.txt globbingC-style for loopBreak and continue - 625 min
Fonctions
À ce stade, vos scripts commencent à se répéter. Vous écrivez peut-être un message horodaté à trois endroits différents, ou vous vérifiez qu'un...
Function definitionPositional args $1 $@ $#Return for exit codesEcho for outputLocal variables - 725 min
Tableaux
Jusqu'ici, une variable contenait une seule valeur. name="Ada" contient une chaîne de caractères. Pour garder trois noms, il vous faudrait soit trois...
Indexed arrays${arr[@]}${#arr[@]} lengthAssociative arrays declare -AIterating arrays - 825 min
Expansion de chaînes et expansion arithmétique
Vous vous retrouverez sans cesse avec une variable qui contient presque, mais pas tout à fait, ce dont vous avez besoin. Un chemin de fichier complet...
${var#prefix}${var%suffix}${var//old/new}$(( arith ))Printf formatting - 925 min
Redirection des E/S et pipes
Chaque commande que vous lancez dans Bash est, en dessous, raccordée à trois canaux distincts, que vous les remarquiez ou non. Pensez à une machine...
>>><2>2>&1&>+3 - 1030 min
Gestion des erreurs et des traps
Tous les scripts que vous avez écrits jusqu'ici supposent que tout se passe bien. Une commande qui ne trouve pas un fichier, un répertoire qui...
Set -eSet -uSet -o pipefailTrap on EXITTrap on ERRCleanup functions - 1125 min
Débogage et bonnes pratiques
Un jour, un script que vous avez écrit fera quelque chose que vous ne lui avez pas demandé. Il supprimera le mauvais fichier, sautera la boucle dont...
Bash -xSet -xShellcheckSafe quotingNever parse ls[[ vs [+1 - 1260 min
Projet final : script d'amorçage du serveur
Un serveur tout neuf est une machine sur laquelle il n'y a rien. Quelqu'un doit y installer le serveur web, créer le compte avec lequel vous vous...
Idempotent provisioningInstalling packagesCreating usersSSH key setupSystemd timersLogging+2
Apprenez Bash dans votre langue
Chaque leçon, quiz et réponse du tuteur s’affiche dans votre langue. Le tuteur IA répond dans la langue que vous utilisez.
Roles that use Bash
See how hiring teams interview engineers on Bash, in production-like environments.
DevOps Engineer
Hire DevOps engineers who actually ship. Run live or take-home interviews in production-like Linux environments with Docker, Kubernetes, Terraform and CI/CD. See how they debug, automate, and work alongside AI.
See the interviewSite Reliability Engineer (SRE)
Hire SREs who actually run production. Live workspaces with metrics, logs, traces and a service that is starting to misbehave. We record every keystroke.
See the interviewInfrastructure Engineer
Hire infrastructure engineers who design systems your team can rely on. Interview them in real workspaces with Terraform, Ansible, cloud APIs and live failure scenarios.
See the interview