{"id":7185,"date":"2020-05-07T20:55:13","date_gmt":"2020-05-07T20:55:13","guid":{"rendered":"https:\/\/blog.hostinger.io\/fr-tutoriels\/?p=7185"},"modified":"2026-02-27T12:24:36","modified_gmt":"2026-02-27T12:24:36","slug":"script-bash","status":"publish","type":"post","link":"\/fr\/tutoriels\/script-bash","title":{"rendered":"Introduction au script Bash (avec exemples)"},"content":{"rendered":"<p>Bash est l&rsquo;un des outils de scripting les plus populaires disponibles sous Unix. C&rsquo;est l&rsquo;acronyme de Bourne Again Shell. C&rsquo;est un outil puissant pour tout utilisateur de Linux ou administrateur syst&egrave;me. Apprenons &agrave; utiliser Script Bash !<\/p><p>Unix a 2 grandes cat&eacute;gories de shells.<\/p><ul class=\"wp-block-list\">\n<li>Bourne-type shell<\/li>\n\n\n\n<li>C shell<\/li>\n<\/ul><p><strong>Bourne shell<\/strong> est &eacute;galement class&eacute; comme :<\/p><ul class=\"wp-block-list\">\n<li>Korn shell (ksh)<\/li>\n\n\n\n<li>Bourne shell (sh)<\/li>\n\n\n\n<li>POSIX shell (sh)<\/li>\n\n\n\n<li>Bourne Again shell (bash)<\/li>\n<\/ul><p><strong>C shell<\/strong> est &eacute;galement class&eacute; comme :<\/p><ul class=\"wp-block-list\">\n<li>C shell (csh)<\/li>\n\n\n\n<li>TENEX (TOPS) C shell (tcsh)<\/li>\n<\/ul><p>Les scripts Bash sont un &eacute;l&eacute;ment extr&ecirc;mement puissant et utile pour le d&eacute;veloppement. Il permet de raccourcir les t&acirc;ches r&eacute;p&eacute;titives en un seul appel de fonction. De nombreuses commandes longues peuvent &ecirc;tre consolid&eacute;es en un seul code ex&eacute;cutable.<\/p><p>Bash est facilement disponible sur presque toutes les versions de Linux et ne n&eacute;cessite aucune installation s&eacute;par&eacute;e. La liste des shells disponibles peut &ecirc;tre v&eacute;rifi&eacute;e en tapant la commande suivante :<\/p><pre class=\"wp-block-preformatted\">cat \/etc\/shells<\/pre><p>Le r&eacute;sultat sera quelque chose comme indiqu&eacute; ci-dessous :<\/p><pre class=\"wp-block-preformatted\">\/bin\/bash\n\/bin\/sh\n\/bin\/tcsh\n\/bin\/csh<\/pre><h2 class=\"wp-block-heading\" id=\"h-pourquoi-utiliser-les-fonctions-bash\">Pourquoi utiliser les fonctions Bash ?<\/h2><p>Les fonctions Bash peuvent :<\/p><ul class=\"wp-block-list\">\n<li>&Eacute;liminer les t&acirc;ches r&eacute;p&eacute;titives<\/li>\n\n\n\n<li>Gagner du temps<\/li>\n\n\n\n<li>Donne une s&eacute;quence d&rsquo;activit&eacute;s bien structur&eacute;e, modulaire et organis&eacute;e.<\/li>\n\n\n\n<li>Avec les fonctions, nous pouvons fournir des valeurs dynamiques aux commandes en utilisant des arguments de ligne de commande<\/li>\n\n\n\n<li>Peut simplifier les commandes complexes en une seule op&eacute;ration<\/li>\n\n\n\n<li>Une fois cr&eacute;&eacute;, il peut &ecirc;tre ex&eacute;cut&eacute; un nombre illimit&eacute; de fois par n&rsquo;importe qui<\/li>\n\n\n\n<li>Les flux logiques peuvent &ecirc;tre cr&eacute;&eacute;s en utilisant des fonctions bash<\/li>\n\n\n\n<li>Les fonctions Bash peuvent &ecirc;tre ex&eacute;cut&eacute;es au d&eacute;marrage du serveur ou en ajoutant une t&acirc;che cron programm&eacute;e<\/li>\n\n\n\n<li>Les commandes peuvent &ecirc;tre d&eacute;bogu&eacute;es<\/li>\n\n\n\n<li>Peut avoir des commandes shell interactives<\/li>\n<\/ul><p>Bash est sans aucun doute un excellent outil pour faciliter votre travail et am&eacute;liorer votre projet. Les possibilit&eacute;s d&rsquo;utilisation sont illimit&eacute;es, c&rsquo;est pourquoi nous ne vous apprendrons aujourd&rsquo;hui que les bases. Pr&eacute;parez-vous &agrave; &eacute;crire votre premier script !<\/p><h2 class=\"wp-block-heading\" id=\"h-debuter-avec-un-script-bash\">D&eacute;buter avec un Script Bash<\/h2><p>Avant de commencer, vous devez effectuer une connexion SSH &agrave; votre serveur VPS. Si vous avez des difficult&eacute;s &agrave; le faire, consultez ce <a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/connexion-ssh-windows-putty\"><strong>tutoriel utile<\/strong><\/a>.<br> Si vous n&rsquo;avez pas encore de VPS, vous pouvez en commander un aupr&egrave;s de <a href=\"\/fr\/vps\">Hostinger<\/a>.<\/p><figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.hostinger.com\/fr\/vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/public\" alt=\"\" class=\"wp-image-41471\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>Pour commencer avec les options de commande de base, vous pouvez v&eacute;rifier les pages du manuel de bash en tapant :<\/p><pre class=\"wp-block-preformatted\">man bash<\/pre><p>Ensuite, nous devrons cr&eacute;er un fichier <strong>.sh<\/strong>. Pour cela, nous utiliserons <strong>l&rsquo;&eacute;diteur VIM<\/strong>. Pour cr&eacute;er un fichier, utilisez une commande comme celle-ci :<\/p><pre class=\"wp-block-preformatted\">vim exempleDeFonction.sh<\/pre><p>Nous allons maintenant passer au fichier <strong>.sh<\/strong>, o&ugrave; nous pouvons le modifier.<\/p><p>Vous obtiendrez ainsi un r&eacute;sultat complet sur les commandes Bash et leur utilisation. Chaque script de Bash doit commencer par la ligne ci-dessous :<\/p><pre class=\"wp-block-preformatted\">#!\/bin\/bash<\/pre><p>La commande ci-dessous affiche le chemin du script bash.<\/p><pre class=\"wp-block-preformatted\">which bash<\/pre><p>Cela donnera le r&eacute;sultat indiqu&eacute; ci-dessous :<\/p><pre class=\"wp-block-preformatted\">\/bin\/bash<\/pre><p>La syntaxe commune de bash est :<\/p><pre class=\"wp-block-preformatted\">function nomDuFonction {<br>premiere commande<br>deuxieme commande<br>}<\/pre><p>Cela peut aussi s&rsquo;&eacute;crire comme suit :<\/p><pre class=\"wp-block-preformatted\">nomDuFonction (){<br>premiere commande<br>deuxieme commande<br>}<\/pre><p>En une seule ligne, cela peut s&rsquo;&eacute;crire comme :<\/p><pre class=\"wp-block-preformatted\">nomDuFonction() { premiere commande; deuxieme commande; }<\/pre><p>Voici un exemple d&rsquo;une telle fonction : nous cr&eacute;ons d&rsquo;abord un r&eacute;pertoire, puis nous modifions le chemin d&rsquo;acc&egrave;s pour pointer vers le nouveau r&eacute;pertoire :<\/p><pre class=\"wp-block-preformatted\">exempleDeFonction () {\nmkdir -p $1\ncd $1\n}<\/pre><p><strong>$1<\/strong> repr&eacute;sente l&rsquo;argument d&rsquo;entr&eacute;e de la ligne de commande. Bash peut cr&eacute;er des entr&eacute;es dynamiques dans la commande. Pour v&eacute;rifier cette fonction, vous pouvez ex&eacute;cuter :<\/p><pre class=\"wp-block-preformatted\">exempleDeFonction monRep<\/pre><p>Ici, monRep est un nom de r&eacute;pertoire valide &agrave; cr&eacute;er. Si vous v&eacute;rifiez le r&eacute;pertoire de travail actuel en utilisant la commande <strong>pwd<\/strong>, vous pouvez voir que vous vous trouvez actuellement dans le r&eacute;pertoire <strong>monRep<\/strong> nouvellement cr&eacute;&eacute;.<\/p><p>De m&ecirc;me, toute commande couramment utilis&eacute;e peut &ecirc;tre ajout&eacute;e comme fonction de bash.<\/p><p>N&rsquo;oubliez pas que lorsque vous avez termin&eacute; d&rsquo;utiliser l&rsquo;&eacute;diteur VIM pour modifier votre fichier <strong>.sh<\/strong>, vous devez sauvegarder et quitter en appuyant sur la touche <strong>ECHAP<\/strong> pour passer en mode commande, puis taper <strong>:wq<\/strong> pour sauvegarder et quitter.<\/p><h2 class=\"wp-block-heading\" id=\"h-fonctions-bash-de-base\">Fonctions Bash de base<\/h2><p>L&rsquo;un des exemples de base de la fonction bash est pr&eacute;sent&eacute; ci-dessous :<\/p><pre class=\"wp-block-preformatted\">#!\/bin\/bash\nfonctiondetest(){\n&nbsp;&nbsp;&nbsp;echo \"Ma premi&egrave;re fonction\"\n}\nfonctiondetest<\/pre><p>Si vous enregistrez ce script dans le fichier <strong>fonctionDeTest.sh<\/strong> et que vous l&rsquo;ex&eacute;cutez avec <strong>.\/fonctionDeTest.sh<\/strong>, vous pourrez alors voir le r&eacute;sultat sous cette forme :<\/p><pre class=\"wp-block-preformatted\">Ma premi&egrave;re fonction<\/pre><p>Echo imprime le r&eacute;sultat sur la console. Si vous inversez la position de la d&eacute;finition de la fonction avec l&rsquo;appel, cela entra&icirc;nera une erreur. L&rsquo;extrait ci-dessous donne une erreur.<\/p><pre class=\"wp-block-preformatted\">#!\/bin\/bash\nfonctiondetest\nfonctiondetest(){\n&nbsp;&nbsp;&nbsp;echo \"Ma premi&egrave;re fonction\"\n}<\/pre><p>Vous devrez donc d&rsquo;abord d&eacute;finir la fonction et ensuite l&rsquo;invoquer.<\/p><p>Les fonctions de script bash peuvent accepter un nombre illimit&eacute; de param&egrave;tres. L&rsquo;exemple ci-dessous accepte deux param&egrave;tres :<\/p><pre class=\"wp-block-preformatted\">#!\/bin\/bash\nfonctiondetest(){\n&nbsp;&nbsp;&nbsp;echo $1\n&nbsp;&nbsp;&nbsp;echo $2\n}<\/pre><pre class=\"wp-block-preformatted\">fonctiondetest \"Hello\" \"World\"<\/pre><p>Vous pouvez &eacute;galement utiliser la saisie interactive et effectuer des fonctions bash. Voici un exemple :<\/p><pre class=\"wp-block-preformatted\">#!\/bin\/bash\naddition(){\n&nbsp;&nbsp;&nbsp;sum=$(($1+$2))\n&nbsp;&nbsp;&nbsp;return $sum\n}\nread -p \"Entrez un num&eacute;ro : \" int1\nread -p \"Entrez un num&eacute;ro : \" int2\nadd $int1 $int2\necho \"Le r&eacute;sultat est : \" $?<\/pre><p>Dans l&rsquo;exemple ci-dessus, la valeur de l&rsquo;addition est assign&eacute;e dans une somme variable, et celle-ci est retourn&eacute;e par la fonction. La saisie interactive est effectu&eacute;e en utilisant <strong>read<\/strong>&nbsp;pour les deux nombres. Enfin, le r&eacute;sultat est imprim&eacute; en utilisant <strong>$?<\/strong> qui stocke la valeur de retour de la fonction <strong>$sum<\/strong>.<\/p><p>Les fonctions Bash retournent toujours une seule valeur.<\/p><p>Vous pouvez laisser des commentaires dans le fichier en ajoutant le symbole <strong>#<\/strong> pour laisser des notes utiles.<\/p><p>Les scripts Bash supportent :<\/p><ul class=\"wp-block-list\">\n<li>Boucle while<\/li>\n\n\n\n<li>Boucle for<\/li>\n\n\n\n<li>Instruction conditionnelle<\/li>\n\n\n\n<li>Fonction ET<\/li>\n\n\n\n<li>Fonction OU<\/li>\n\n\n\n<li>L&rsquo;instruction Case<\/li>\n<\/ul><p>Vous trouverez ci-dessous un bref exemple de Boucle While.<\/p><pre class=\"wp-block-preformatted\">#!\/bin\/bash\nisvalid=true\ncount=1\nwhile [ $isvalid ]\ndo\necho $count\nif [ $count -eq 5 ];\nthen\nbreak\nfi\n((count++))\ndone<\/pre><p>L&rsquo;exemple ci-dessus utilise les d&eacute;clarations &ldquo;while&rdquo; et &ldquo;if&rdquo;. Il ex&eacute;cute la boucle while 5 fois avant de quitter apr&egrave;s avoir v&eacute;rifi&eacute; la d&eacute;claration conditionnelle if.<\/p><p>Le r&eacute;sultat sera :<\/p><pre class=\"wp-block-preformatted\">1\n2\n3\n4\n5<\/pre><p>La <strong>boucle for<\/strong> peut &ecirc;tre utilis&eacute;e pour incr&eacute;menter ou d&eacute;cr&eacute;menter les compteurs. Par exemple :<\/p><pre class=\"wp-block-preformatted\">#!\/bin\/bash\nfor (( count=10; count&gt;0; count-- ))\ndo\necho -n \"$count \"\ndone<\/pre><p>Le r&eacute;sultat de cette boucle sera :<\/p><pre class=\"wp-block-preformatted\">10 9 8 7 6 5 4 3 2 1<\/pre><p>Dans un script bash <strong>&amp;&amp;<\/strong> repr&eacute;sente un ET logique, tandis que <strong>||<\/strong> repr&eacute;sente un OU logique.<\/p><p>Avec les d&eacute;clarations <strong>If<\/strong>, nous pouvons &eacute;galement d&eacute;finir <strong>Else if<\/strong>. Voici un exemple :<\/p><pre class=\"wp-block-preformatted\">#!\/bin\/bash\necho \"Entrez un num&eacute;ro valide\"\nread n\nif [ $n -eq 101 ];\nthen\necho \"Voici le premier num&eacute;ro\"\nelif [ $n -eq 510 ];\nthen\necho \"Voici le deuxi&egrave;me num&eacute;ro\"\nelif [ $n -eq 999 ];\nthen\necho \"Voici le troisi&egrave;me num&eacute;ro\"\nelse\necho \"Aucun num&eacute;ro ici\"\nfi<\/pre><p>Le m&ecirc;me exemple ci-dessus peut &eacute;galement &ecirc;tre &eacute;crit en utilisant l&rsquo;instruction Case comme indiqu&eacute; ci-dessous :<\/p><pre class=\"wp-block-preformatted\">#!\/bin\/bash\necho \"Entrez un num&eacute;ro valide\"\nread n\ncase $n in\n101)\nEcho \"Voici le premier num&eacute;ro\" ;;\n510)\necho \"Voici le deuxi&egrave;me num&eacute;ro\" ;;\n999)\necho \"Voici le troisi&egrave;me num&eacute;ro\" ;;\n*)\necho \"Aucun num&eacute;ro ici\" ;;\nesac<\/pre><p>Dans l&rsquo;instruction case <strong>;;<\/strong> s&eacute;pare chaque bloc d&rsquo;instructions.<\/p><figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.hostinger.com\/fr\/vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/public\" alt=\"\" class=\"wp-image-41471\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusion<\/h2><p>Pour conclure, ceci compl&egrave;te notre aper&ccedil;u des fonctions de base du script bash. Bash est un outil vraiment puissant et peut &ecirc;tre facilement ma&icirc;tris&eacute;. &Agrave; partir de l&agrave;, vous pouvez vous plonger dans la cr&eacute;ation d&rsquo;autres exemples et vous amuser &agrave; explorer d&rsquo;autres utilisations potentielles des fonctions de bash. Bonne chance !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bash est l&rsquo;un des outils de scripting les plus populaires disponibles sous Unix. C&rsquo;est l&rsquo;acronyme de Bourne Again Shell. C&rsquo;est un outil puissant pour tout utilisateur de Linux ou administrateur syst&egrave;me. Apprenons &agrave; utiliser Script Bash ! Unix a 2 grandes cat&eacute;gories de shells. Bourne shell est &eacute;galement class&eacute; comme : C shell est &eacute;galement [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/fr\/tutoriels\/script-bash\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":142,"featured_media":13461,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"Script Bash : Introduction et Exemples Utiles","rank_math_description":"Un script Bash peut automatiser vos t\u00e2ches r\u00e9p\u00e9titives sur Unix. Apprenez \u00e0 l'utiliser pour am\u00e9liorer votre flux de travail efficacement.","rank_math_focus_keyword":"script bash","footnotes":""},"categories":[4760],"tags":[5485,5483,5484,5482],"class_list":["post-7185","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vps","tag-bash","tag-bash-linux","tag-fonction-bash","tag-script-bash"],"hreflangs":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/7185","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/users\/142"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/comments?post=7185"}],"version-history":[{"count":9,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/7185\/revisions"}],"predecessor-version":[{"id":46401,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/7185\/revisions\/46401"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/media\/13461"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/media?parent=7185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/categories?post=7185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/tags?post=7185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}