{"id":415,"date":"2026-05-22T16:41:15","date_gmt":"2026-05-22T14:41:15","guid":{"rendered":"https:\/\/eryann.fr\/?p=415"},"modified":"2026-05-22T16:41:16","modified_gmt":"2026-05-22T14:41:16","slug":"fiche-scripts-bash-les-bases","status":"publish","type":"post","link":"https:\/\/eryann.fr\/index.php\/linux\/fiche-scripts-bash-les-bases\/","title":{"rendered":"Fiche scripts bash, les bases"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">1. Introduction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dans un environnement Linux, les scripts Bash permettent d\u2019automatiser des t\u00e2ches r\u00e9p\u00e9titives, d\u2019administrer des serveurs et de gagner \u00e9norm\u00e9ment de temps. En BTS CIEL ou SIO, tu utilises rapidement Bash pour d\u00e9ployer des services, sauvegarder des fichiers, superviser des machines ou lancer des traitements automatiquement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette fiche t\u2019apprend les bases des scripts Bash sur Debian et Ubuntu. Tu vas d\u00e9couvrir la structure d\u2019un script, les variables, les conditions, les boucles, les fonctions ainsi que les bonnes pratiques de s\u00e9curit\u00e9 et de d\u00e9bogage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019objectif consiste \u00e0 devenir capable d\u2019\u00e9crire des scripts simples, lisibles et maintenables dans un contexte d\u2019administration syst\u00e8me.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Sommaire<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Introduction<\/li>\n\n\n\n<li>Sommaire<\/li>\n\n\n\n<li>Qu\u2019est-ce que Bash ?<\/li>\n\n\n\n<li>Installation et environnement<\/li>\n\n\n\n<li>Structure d\u2019un script Bash<\/li>\n\n\n\n<li>Variables et param\u00e8tres<\/li>\n\n\n\n<li>Conditions et tests<\/li>\n\n\n\n<li>Boucles<\/li>\n\n\n\n<li>Fonctions Bash<\/li>\n\n\n\n<li>Gestion des entr\u00e9es utilisateur<\/li>\n\n\n\n<li>Gestion des fichiers et r\u00e9pertoires<\/li>\n\n\n\n<li>Codes de retour et erreurs<\/li>\n\n\n\n<li>D\u00e9bogage et diagnostic<\/li>\n\n\n\n<li>S\u00e9curit\u00e9 et bonnes pratiques<\/li>\n\n\n\n<li>Synth\u00e8se Markdown pour ta fiche bristol<\/li>\n\n\n\n<li>Fichiers importants<\/li>\n\n\n\n<li>Bloc de configuration complet<\/li>\n\n\n\n<li>Commandes utiles et d\u00e9pannage<\/li>\n\n\n\n<li>Journaux et supervision<\/li>\n\n\n\n<li>Erreurs fr\u00e9quentes<\/li>\n\n\n\n<li>Cas concrets<\/li>\n\n\n\n<li>Conclusion<\/li>\n\n\n\n<li>Pour aller plus loin<\/li>\n\n\n\n<li>Liens utiles<\/li>\n\n\n\n<li>Propositions de TP<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">3. Qu\u2019est-ce que Bash ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bash signifie Bourne Again SHell.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il s\u2019agit du shell par d\u00e9faut de nombreuses distributions Linux comme Debian et Ubuntu. Bash interpr\u00e8te des commandes et peut ex\u00e9cuter des scripts contenant des suites d\u2019instructions automatis\u00e9es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un script Bash reste simplement un fichier texte contenant des commandes Linux.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exemple :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash<br><br>echo \"Bonjour\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Le syst\u00e8me lit le script ligne par ligne et ex\u00e9cute chaque instruction.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le <code>#!<\/code> au d\u00e9but s\u2019appelle le shebang. Il indique quel interpr\u00e9teur utiliser.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans ce cas :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Le syst\u00e8me utilise Bash pour ex\u00e9cuter le fichier.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Installation et environnement<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sur Debian ou Ubuntu, Bash existe d\u00e9j\u00e0 par d\u00e9faut.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00e9rifie sa pr\u00e9sence :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bash --version<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cette commande affiche la version install\u00e9e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tu peux aussi v\u00e9rifier quel shell utilise ton utilisateur :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo $SHELL<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">R\u00e9sultat fr\u00e9quent :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/bin\/bash<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">5. Structure d\u2019un script Bash<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un script Bash classique contient :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>un shebang<\/li>\n\n\n\n<li>des variables<\/li>\n\n\n\n<li>des commandes<\/li>\n\n\n\n<li>des conditions<\/li>\n\n\n\n<li>des fonctions<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Exemple simple :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash<br><br>nom=\"Etudiant\"<br><br>echo \"Bonjour $nom\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Pour rendre le script ex\u00e9cutable :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod +x script.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Explication :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>chmod<\/code> modifie les permissions<\/li>\n\n\n\n<li><code>+x<\/code> ajoute le droit d\u2019ex\u00e9cution<\/li>\n\n\n\n<li><code>script.sh<\/code> repr\u00e9sente le fichier<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ex\u00e9cution :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/script.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Le <code>.\/<\/code> indique que le script se trouve dans le r\u00e9pertoire courant.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. Variables et param\u00e8tres<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">6.1 D\u00e9clarer une variable<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>prenom=\"Jean\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Attention :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>aucun espace autour du <code>=<\/code><\/li>\n\n\n\n<li>Bash consid\u00e8re les espaces comme des s\u00e9parateurs<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Affichage :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo $prenom<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">6.2 Variables syst\u00e8me<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Exemples :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo $USER<br>echo $HOME<br>echo $PATH<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">6.3 Param\u00e8tres positionnels<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Un script peut recevoir des arguments :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash<br><br>echo \"Premier argument : $1\"<br>echo \"Deuxi\u00e8me argument : $2\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ex\u00e9cution :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/script.sh test admin<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">R\u00e9sultat :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Premier argument : test<br>Deuxi\u00e8me argument : admin<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">7. Conditions et tests<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">7.1 Structure if<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash<br><br>if &#91; \"$USER\" = \"root\" ]; then<br>    echo \"Utilisateur root\"<br>else<br>    echo \"Utilisateur standard\"<br>fi<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">7.2 V\u00e9rifier un fichier<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>if &#91; -f \/etc\/passwd ]; then<br>    echo \"Le fichier existe\"<br>fi<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Options fr\u00e9quentes :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>-f<\/code> : fichier<\/li>\n\n\n\n<li><code>-d<\/code> : r\u00e9pertoire<\/li>\n\n\n\n<li><code>-r<\/code> : lecture<\/li>\n\n\n\n<li><code>-w<\/code> : \u00e9criture<\/li>\n\n\n\n<li><code>-x<\/code> : ex\u00e9cutable<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">7.3 Comparaisons num\u00e9riques<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>if &#91; \"$1\" -gt 10 ]; then<br>    echo \"Sup\u00e9rieur \u00e0 10\"<br>fi<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Op\u00e9rateurs :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>-eq<\/code> : \u00e9gal<\/li>\n\n\n\n<li><code>-ne<\/code> : diff\u00e9rent<\/li>\n\n\n\n<li><code>-gt<\/code> : sup\u00e9rieur<\/li>\n\n\n\n<li><code>-lt<\/code> : inf\u00e9rieur<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">8. Boucles<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">8.1 Boucle for<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>for user in alice bob charlie<br>do<br>    echo \"$user\"<br>done<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">8.2 Boucle while<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>compteur=1<br><br>while &#91; $compteur -le 5 ]<br>do<br>    echo $compteur<br>    compteur=$((compteur + 1))<br>done<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">8.3 Parcourir des fichiers<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>for fichier in \/var\/log\/*.log<br>do<br>    echo \"$fichier\"<br>done<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">9. Fonctions Bash<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les fonctions \u00e9vitent les r\u00e9p\u00e9titions.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash<br><br>bonjour() {<br>    echo \"Bonjour $1\"<br>}<br><br>bonjour \"Alice\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Le <code>$1<\/code> repr\u00e9sente le premier argument transmis \u00e0 la fonction.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">10. Gestion des entr\u00e9es utilisateur<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Lecture clavier :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>read -p \"Nom utilisateur : \" nom<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Explication :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>read<\/code> attend une saisie<\/li>\n\n\n\n<li><code>-p<\/code> affiche un message<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Mot de passe masqu\u00e9 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>read -s -p \"Mot de passe : \" mdp<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Option :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>-s<\/code> masque la saisie<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">11. Gestion des fichiers et r\u00e9pertoires<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cr\u00e9er un r\u00e9pertoire :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir sauvegarde<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cr\u00e9er un fichier :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>touch test.txt<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Copier :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cp fichier.txt sauvegarde\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">D\u00e9placer :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mv fichier.txt archive\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Supprimer :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rm fichier.txt<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Suppression r\u00e9cursive :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rm -r dossier\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Attention : <code>rm -r<\/code> supprime d\u00e9finitivement les donn\u00e9es.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">12. Codes de retour et erreurs<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Chaque commande Linux retourne un code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00e9rifie le dernier code :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo $?<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Valeurs :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>0<\/code> : succ\u00e8s<\/li>\n\n\n\n<li>autre valeur : erreur<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Exemple :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir test<br><br>if &#91; $? -eq 0 ]; then<br>    echo \"Cr\u00e9ation r\u00e9ussie\"<br>else<br>    echo \"Erreur\"<br>fi<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">13. D\u00e9bogage et diagnostic<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">13.1 Mode debug<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>bash -x script.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Option :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>-x<\/code> affiche chaque commande ex\u00e9cut\u00e9e<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">13.2 Arr\u00eat en cas d\u2019erreur<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>set -e<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Le script s\u2019arr\u00eate d\u00e8s qu\u2019une commande \u00e9choue.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">13.3 Variables non d\u00e9finies<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>set -u<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Bash signale les variables absentes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">13.4 Journalisation<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/script.sh &gt; sortie.log 2&gt;&amp;1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Explication :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>><\/code> redirige la sortie standard<\/li>\n\n\n\n<li><code>2>&amp;1<\/code> redirige les erreurs<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">14. S\u00e9curit\u00e9 et bonnes pratiques<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ne jamais :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ex\u00e9cuter un script inconnu en root<\/li>\n\n\n\n<li>faire un <code>rm -rf \/<\/code><\/li>\n\n\n\n<li>stocker des mots de passe en clair<\/li>\n\n\n\n<li>donner des permissions <code>777<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Toujours :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>commenter le code<\/li>\n\n\n\n<li>v\u00e9rifier les variables utilisateur<\/li>\n\n\n\n<li>utiliser des chemins absolus<\/li>\n\n\n\n<li>tester dans un environnement isol\u00e9<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Exemple s\u00e9curis\u00e9 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if &#91; -d \"$dossier\" ]; then<br>    rm -r \"$dossier\"<br>fi<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Les guillemets \u00e9vitent des comportements dangereux avec les espaces.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">15. Synth\u00e8se Markdown pour ta fiche bristol<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code># Bash - Bases<br><br>## Cr\u00e9er un script<br>nano script.sh<br><br>## Shebang<br>#!\/bin\/bash<br><br>## Rendre ex\u00e9cutable<br>chmod +x script.sh<br><br>## Ex\u00e9cuter<br>.\/script.sh<br><br>## Variables<br>nom=\"alice\"<br>echo $nom<br><br>## Conditions<br>if &#91; -f fichier.txt ]; then<br>    echo \"Existe\"<br>fi<br><br>## Boucles<br>for i in 1 2 3<br>do<br>    echo $i<br>done<br><br>## Lire une saisie<br>read -p \"Nom : \" nom<br><br>## Debug<br>bash -x script.sh<br><br>## Code retour<br>echo $?<br><br>## Redirection logs<br>.\/script.sh &gt; sortie.log 2&gt;&amp;1<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">16. Fichiers importants<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/profile<br>\/etc\/bash.bashrc<br>~\/.bashrc<br>~\/.profile<br>\/usr\/bin\/bash<br>\/var\/log\/syslog<br>\/var\/log\/auth.log<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Arborescence utile :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/home\/user\/scripts\/<br>\u251c\u2500\u2500 sauvegarde.sh<br>\u251c\u2500\u2500 supervision.sh<br>\u2514\u2500\u2500 maintenance.sh<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">17. Bloc de configuration complet<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash<br><br># ============================================================================<br># Script : sauvegarde.sh<br># Description : sauvegarde automatique d'un r\u00e9pertoire<br># Auteur : Breizh Sec Ops<br># ============================================================================<br><br>set -euo pipefail<br><br>SOURCE=\"\/home\/user\/documents\"<br>DESTINATION=\"\/srv\/backup\"<br>DATE=$(date +%Y-%m-%d_%H-%M-%S)<br>ARCHIVE=\"backup_${DATE}.tar.gz\"<br>LOGFILE=\"\/var\/log\/sauvegarde.log\"<br><br>if &#91; ! -d \"$SOURCE\" ]; then<br>    echo \"&#91;ERREUR] Source introuvable : $SOURCE\" | tee -a \"$LOGFILE\"<br>    exit 1<br>fi<br><br>mkdir -p \"$DESTINATION\"<br><br>tar -czf \"$DESTINATION\/$ARCHIVE\" \"$SOURCE\"<br><br>if &#91; $? -eq 0 ]; then<br>    echo \"&#91;OK] Sauvegarde cr\u00e9\u00e9e : $ARCHIVE\" | tee -a \"$LOGFILE\"<br>else<br>    echo \"&#91;ERREUR] Echec sauvegarde\" | tee -a \"$LOGFILE\"<br>fi<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">18. Commandes utiles et d\u00e9pannage<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Afficher les permissions :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ls -l script.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tester la syntaxe :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bash -n script.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Option :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>-n<\/code> v\u00e9rifie la syntaxe sans ex\u00e9cuter<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Trouver Bash :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>which bash<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Chercher un binaire :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>whereis bash<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Chercher une commande dans le PATH :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>type ls<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Afficher les processus :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ps aux | grep script.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tuer un script :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kill PID<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Rendre tous les scripts ex\u00e9cutables :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod +x *.sh<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">19. Journaux et supervision<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bash ne poss\u00e8de pas ses propres logs syst\u00e8me.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tu utilises g\u00e9n\u00e9ralement :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/var\/log\/syslog<br>\/var\/log\/auth.log<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Consulter les logs :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tail -f \/var\/log\/syslog<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Option :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>-f<\/code> suit les nouvelles lignes en temps r\u00e9el<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Voir les erreurs sudo :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tail -f \/var\/log\/auth.log<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cr\u00e9er un log personnalis\u00e9 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo \"Message\" &gt;&gt; \/var\/log\/script.log<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Journaliser avec <code>logger<\/code> :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>logger \"Script sauvegarde ex\u00e9cut\u00e9\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Consulter ensuite :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>journalctl -t root<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">20. Erreurs fr\u00e9quentes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Permission denied<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cause :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>script non ex\u00e9cutable<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Correction :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod +x script.sh<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">bad interpreter<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cause :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>mauvais shebang<\/li>\n\n\n\n<li>retour Windows CRLF<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Correction :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dos2unix script.sh<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">command not found<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cause :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>commande absente<\/li>\n\n\n\n<li>PATH incorrect<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Diagnostic :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo $PATH<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">21. Cas concrets<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Sauvegarde automatique<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cr\u00e9er une archive chaque nuit avec <code>cron<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Supervision serveur<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00e9rifier qu\u2019Apache fonctionne :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl is-active apache2<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">D\u00e9ploiement<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Installer automatiquement plusieurs paquets :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt update &amp;&amp; apt install -y nginx mariadb-server<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Rotation de logs<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Supprimer les anciens fichiers :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>find \/backup -type f -mtime +30 -delete<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">22. Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les scripts Bash constituent une comp\u00e9tence essentielle en administration Linux. M\u00eame des scripts simples permettent d\u00e9j\u00e0 d\u2019automatiser des sauvegardes, des v\u00e9rifications ou des installations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lorsque tu \u00e9cris un script, pense toujours \u00e0 :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>v\u00e9rifier les erreurs<\/li>\n\n\n\n<li>prot\u00e9ger les variables<\/li>\n\n\n\n<li>journaliser les actions<\/li>\n\n\n\n<li>limiter les privil\u00e8ges<\/li>\n\n\n\n<li>commenter correctement le code<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Un bon script reste lisible, maintenable et s\u00e9curis\u00e9.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">23. Pour aller plus loin<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Approfondis ensuite :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>les expressions r\u00e9guli\u00e8res<\/li>\n\n\n\n<li><code>sed<\/code> et <code>awk<\/code><\/li>\n\n\n\n<li><code>cron<\/code><\/li>\n\n\n\n<li><code>systemd<\/code><\/li>\n\n\n\n<li>les scripts de d\u00e9ploiement<\/li>\n\n\n\n<li>l\u2019automatisation Ansible<\/li>\n\n\n\n<li>les pipelines CI\/CD<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Tu peux \u00e9galement d\u00e9couvrir :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zsh<\/li>\n\n\n\n<li>Dash<\/li>\n\n\n\n<li>Fish<\/li>\n\n\n\n<li>PowerShell sous Linux<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">24. Liens utiles<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Documentation officielle Bash GNU :<br><a href=\"https:\/\/www.gnu.org\/software\/bash\/manual\/bash.html\">https:\/\/www.gnu.org\/software\/bash\/manual\/bash.html<\/a><br>R\u00e9f\u00e9rence officielle compl\u00e8te du shell Bash.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Documentation Debian Bash :<br><a href=\"https:\/\/wiki.debian.org\/Bash\">https:\/\/wiki.debian.org\/Bash<\/a><br>Documentation Debian adapt\u00e9e \u00e0 l\u2019administration syst\u00e8me.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">OpenClassrooms &#8211; D\u00e9couvrez la ligne de commande dans un terminal :<br><a href=\"https:\/\/openclassrooms.com\/fr\/courses\/7170491-initiez-vous-a-linux\">https:\/\/openclassrooms.com\/fr\/courses\/7170491-initiez-vous-a-linux<\/a><br>Tr\u00e8s bon cours d\u2019introduction Linux pour d\u00e9buter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">OpenClassrooms &#8211; Administrez un syst\u00e8me Linux :<br><a href=\"https:\/\/openclassrooms.com\/fr\/courses\/7274161-administrez-un-systeme-linux\">https:\/\/openclassrooms.com\/fr\/courses\/7274161-administrez-un-systeme-linux<\/a><br>Approche p\u00e9dagogique orient\u00e9e administration syst\u00e8me.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Explainshell :<br><a href=\"https:\/\/explainshell.com\/\">https:\/\/explainshell.com\/<\/a><br>D\u00e9compose chaque option d\u2019une commande Linux.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">TLDR Linux :<br><a href=\"https:\/\/tldr.sh\/\">https:\/\/tldr.sh\/<\/a><br>Exemples rapides de commandes Linux.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Documentation Ubuntu Bash :<br><a href=\"https:\/\/help.ubuntu.com\/community\/Beginners\/BashScripting\">https:\/\/help.ubuntu.com\/community\/Beginners\/BashScripting<\/a><br>Documentation communautaire Ubuntu tr\u00e8s p\u00e9dagogique.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">25. Propositions de TP<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">TP 1 \u2014 Script de sauvegarde<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objectif :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>sauvegarder un r\u00e9pertoire<\/li>\n\n\n\n<li>cr\u00e9er une archive compress\u00e9e<\/li>\n\n\n\n<li>\u00e9crire des logs<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">TP 2 \u2014 Supervision d\u2019un service<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objectif :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>v\u00e9rifier Apache ou SSH<\/li>\n\n\n\n<li>envoyer un message en cas d\u2019arr\u00eat<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">TP 3 \u2014 Gestion utilisateurs<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objectif :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cr\u00e9er automatiquement plusieurs utilisateurs<\/li>\n\n\n\n<li>g\u00e9n\u00e9rer des mots de passe<\/li>\n\n\n\n<li>cr\u00e9er leurs r\u00e9pertoires<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">TP 4 \u2014 Nettoyage automatique<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objectif :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>supprimer les fichiers temporaires<\/li>\n\n\n\n<li>nettoyer les logs anciens<\/li>\n\n\n\n<li>planifier le script avec cron<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">TP 5 \u2014 Script interactif<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objectif :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cr\u00e9er un menu Bash<\/li>\n\n\n\n<li>utiliser <code>case<\/code><\/li>\n\n\n\n<li>g\u00e9rer plusieurs actions syst\u00e8me<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>1. Introduction Dans un environnement Linux, les scripts Bash permettent d\u2019automatiser des t\u00e2ches r\u00e9p\u00e9titives, d\u2019administrer des serveurs et de gagner \u00e9norm\u00e9ment de temps. En BTS CIEL ou SIO, tu utilises rapidement Bash pour d\u00e9ployer des services, sauvegarder des fichiers, superviser des machines ou lancer des traitements automatiquement. Cette fiche t\u2019apprend les bases des scripts Bash [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[29,21,12,25],"tags":[36],"class_list":["post-415","post","type-post","status-publish","format-standard","hentry","category-administration-systeme","category-debian","category-linux","category-ubuntu","tag-bash"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Fiche scripts bash, les bases - Eryann Breizh SecOps<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/eryann.fr\/index.php\/linux\/fiche-scripts-bash-les-bases\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fiche scripts bash, les bases - Eryann Breizh SecOps\" \/>\n<meta property=\"og:description\" content=\"1. Introduction Dans un environnement Linux, les scripts Bash permettent d\u2019automatiser des t\u00e2ches r\u00e9p\u00e9titives, d\u2019administrer des serveurs et de gagner \u00e9norm\u00e9ment de temps. En BTS CIEL ou SIO, tu utilises rapidement Bash pour d\u00e9ployer des services, sauvegarder des fichiers, superviser des machines ou lancer des traitements automatiquement. Cette fiche t\u2019apprend les bases des scripts Bash [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/eryann.fr\/index.php\/linux\/fiche-scripts-bash-les-bases\/\" \/>\n<meta property=\"og:site_name\" content=\"Eryann Breizh SecOps\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-22T14:41:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-22T14:41:16+00:00\" \/>\n<meta name=\"author\" content=\"wpadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"wpadmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/eryann.fr\\\/index.php\\\/linux\\\/fiche-scripts-bash-les-bases\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/eryann.fr\\\/index.php\\\/linux\\\/fiche-scripts-bash-les-bases\\\/\"},\"author\":{\"name\":\"wpadmin\",\"@id\":\"https:\\\/\\\/eryann.fr\\\/#\\\/schema\\\/person\\\/d2ee98d2385cd045ed4fe1c07ca320b5\"},\"headline\":\"Fiche scripts bash, les bases\",\"datePublished\":\"2026-05-22T14:41:15+00:00\",\"dateModified\":\"2026-05-22T14:41:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/eryann.fr\\\/index.php\\\/linux\\\/fiche-scripts-bash-les-bases\\\/\"},\"wordCount\":1155,\"publisher\":{\"@id\":\"https:\\\/\\\/eryann.fr\\\/#organization\"},\"keywords\":[\"bash\"],\"articleSection\":[\"Administration syst\u00e8me\",\"debian\",\"Linux\",\"ubuntu\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/eryann.fr\\\/index.php\\\/linux\\\/fiche-scripts-bash-les-bases\\\/\",\"url\":\"https:\\\/\\\/eryann.fr\\\/index.php\\\/linux\\\/fiche-scripts-bash-les-bases\\\/\",\"name\":\"Fiche scripts bash, les bases - Eryann Breizh SecOps\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/eryann.fr\\\/#website\"},\"datePublished\":\"2026-05-22T14:41:15+00:00\",\"dateModified\":\"2026-05-22T14:41:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/eryann.fr\\\/index.php\\\/linux\\\/fiche-scripts-bash-les-bases\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/eryann.fr\\\/index.php\\\/linux\\\/fiche-scripts-bash-les-bases\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/eryann.fr\\\/index.php\\\/linux\\\/fiche-scripts-bash-les-bases\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/eryann.fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fiche scripts bash, les bases\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/eryann.fr\\\/#website\",\"url\":\"https:\\\/\\\/eryann.fr\\\/\",\"name\":\"Eryann Breizh SecOps\",\"description\":\"Fiches techniques &amp; labs en syst\u00e8mes et r\u00e9seaux poor les \u00e9tudiants en BTS CEIL ET SIO\",\"publisher\":{\"@id\":\"https:\\\/\\\/eryann.fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/eryann.fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/eryann.fr\\\/#organization\",\"name\":\"Breizh Sec Ops\",\"url\":\"https:\\\/\\\/eryann.fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/eryann.fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/eryann.fr\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/cropped-088112b9-fd28-4b18-b02d-4d9dded3e900-e1777846396685.png\",\"contentUrl\":\"https:\\\/\\\/eryann.fr\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/cropped-088112b9-fd28-4b18-b02d-4d9dded3e900-e1777846396685.png\",\"width\":1246,\"height\":229,\"caption\":\"Breizh Sec Ops\"},\"image\":{\"@id\":\"https:\\\/\\\/eryann.fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/eryann.fr\\\/#\\\/schema\\\/person\\\/d2ee98d2385cd045ed4fe1c07ca320b5\",\"name\":\"wpadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d71b4031c3d015de3ca68c137413277e548b331b07db0acf781b9379b798eb3e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d71b4031c3d015de3ca68c137413277e548b331b07db0acf781b9379b798eb3e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d71b4031c3d015de3ca68c137413277e548b331b07db0acf781b9379b798eb3e?s=96&d=mm&r=g\",\"caption\":\"wpadmin\"},\"sameAs\":[\"https:\\\/\\\/eryann.fr\"],\"url\":\"https:\\\/\\\/eryann.fr\\\/index.php\\\/author\\\/wpadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Fiche scripts bash, les bases - Eryann Breizh SecOps","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/eryann.fr\/index.php\/linux\/fiche-scripts-bash-les-bases\/","og_locale":"fr_FR","og_type":"article","og_title":"Fiche scripts bash, les bases - Eryann Breizh SecOps","og_description":"1. Introduction Dans un environnement Linux, les scripts Bash permettent d\u2019automatiser des t\u00e2ches r\u00e9p\u00e9titives, d\u2019administrer des serveurs et de gagner \u00e9norm\u00e9ment de temps. En BTS CIEL ou SIO, tu utilises rapidement Bash pour d\u00e9ployer des services, sauvegarder des fichiers, superviser des machines ou lancer des traitements automatiquement. Cette fiche t\u2019apprend les bases des scripts Bash [&hellip;]","og_url":"https:\/\/eryann.fr\/index.php\/linux\/fiche-scripts-bash-les-bases\/","og_site_name":"Eryann Breizh SecOps","article_published_time":"2026-05-22T14:41:15+00:00","article_modified_time":"2026-05-22T14:41:16+00:00","author":"wpadmin","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"wpadmin","Dur\u00e9e de lecture estim\u00e9e":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/eryann.fr\/index.php\/linux\/fiche-scripts-bash-les-bases\/#article","isPartOf":{"@id":"https:\/\/eryann.fr\/index.php\/linux\/fiche-scripts-bash-les-bases\/"},"author":{"name":"wpadmin","@id":"https:\/\/eryann.fr\/#\/schema\/person\/d2ee98d2385cd045ed4fe1c07ca320b5"},"headline":"Fiche scripts bash, les bases","datePublished":"2026-05-22T14:41:15+00:00","dateModified":"2026-05-22T14:41:16+00:00","mainEntityOfPage":{"@id":"https:\/\/eryann.fr\/index.php\/linux\/fiche-scripts-bash-les-bases\/"},"wordCount":1155,"publisher":{"@id":"https:\/\/eryann.fr\/#organization"},"keywords":["bash"],"articleSection":["Administration syst\u00e8me","debian","Linux","ubuntu"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/eryann.fr\/index.php\/linux\/fiche-scripts-bash-les-bases\/","url":"https:\/\/eryann.fr\/index.php\/linux\/fiche-scripts-bash-les-bases\/","name":"Fiche scripts bash, les bases - Eryann Breizh SecOps","isPartOf":{"@id":"https:\/\/eryann.fr\/#website"},"datePublished":"2026-05-22T14:41:15+00:00","dateModified":"2026-05-22T14:41:16+00:00","breadcrumb":{"@id":"https:\/\/eryann.fr\/index.php\/linux\/fiche-scripts-bash-les-bases\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/eryann.fr\/index.php\/linux\/fiche-scripts-bash-les-bases\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/eryann.fr\/index.php\/linux\/fiche-scripts-bash-les-bases\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/eryann.fr\/"},{"@type":"ListItem","position":2,"name":"Fiche scripts bash, les bases"}]},{"@type":"WebSite","@id":"https:\/\/eryann.fr\/#website","url":"https:\/\/eryann.fr\/","name":"Eryann Breizh SecOps","description":"Fiches techniques &amp; labs en syst\u00e8mes et r\u00e9seaux poor les \u00e9tudiants en BTS CEIL ET SIO","publisher":{"@id":"https:\/\/eryann.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/eryann.fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/eryann.fr\/#organization","name":"Breizh Sec Ops","url":"https:\/\/eryann.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/eryann.fr\/#\/schema\/logo\/image\/","url":"https:\/\/eryann.fr\/wp-content\/uploads\/2026\/05\/cropped-088112b9-fd28-4b18-b02d-4d9dded3e900-e1777846396685.png","contentUrl":"https:\/\/eryann.fr\/wp-content\/uploads\/2026\/05\/cropped-088112b9-fd28-4b18-b02d-4d9dded3e900-e1777846396685.png","width":1246,"height":229,"caption":"Breizh Sec Ops"},"image":{"@id":"https:\/\/eryann.fr\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/eryann.fr\/#\/schema\/person\/d2ee98d2385cd045ed4fe1c07ca320b5","name":"wpadmin","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/d71b4031c3d015de3ca68c137413277e548b331b07db0acf781b9379b798eb3e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d71b4031c3d015de3ca68c137413277e548b331b07db0acf781b9379b798eb3e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d71b4031c3d015de3ca68c137413277e548b331b07db0acf781b9379b798eb3e?s=96&d=mm&r=g","caption":"wpadmin"},"sameAs":["https:\/\/eryann.fr"],"url":"https:\/\/eryann.fr\/index.php\/author\/wpadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/posts\/415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/comments?post=415"}],"version-history":[{"count":1,"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/posts\/415\/revisions"}],"predecessor-version":[{"id":416,"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/posts\/415\/revisions\/416"}],"wp:attachment":[{"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/media?parent=415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/categories?post=415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/tags?post=415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}