0 Votes

Modifications pour le document Bash

Modifié par john le 2026/09/20 20:12

Depuis la version 2.1
modifié par john
sur 2026/09/20 20:12
Commentaire de modification : Il n'y a aucun commentaire pour cette version
À la version 1.1
modifié par john
sur 2025/05/24 23:47
Commentaire de modification : Imported from XAR

Résumé

Détails

Propriétés de la Page
Contenu
... ... @@ -1,24 +1,23 @@
1 += Le Bash =
2 +
1 1  {{toc/}}
2 2  
3 3  == Présentation ==
4 -
5 -**Bash** (//Bourne Again SHell//) est le shell par défaut sur la majorité des distributions GNU/Linux.
6 +**Bash** (*Bourne Again SHell*) est le shell par défaut sur la majorité des distributions GNU/Linux.
6 6  C'est à la fois un interpréteur de commandes interactif et un langage de script puissant.
7 7  
8 ------
9 +---
9 9  
10 10  == Principes de base ==
12 +* Exécution de commandes : `ls`, `pwd`, `echo`, etc.
13 +* Variables simples : `nom="John"`
14 +* Substitution : `$(commande)` ou \`commande\`
15 +* Redirection : `>`, `>>`, `<`, `|`
16 +* Opérateurs conditionnels : `if`, `&&`, `||`
11 11  
12 -* Exécution de commandes : ##ls##, ##pwd##, ##echo##, etc.
13 -* Variables simples : ##nom="John"##
14 -* Substitution : ##$(commande)##
15 -* Redirection : ##>##, ##>>##, ##<##, ##~|##
16 -* Opérateurs conditionnels : ##if##, ##&&##, ##~|~|##
18 +---
17 17  
18 ------
19 -
20 20  == Exemple simple ==
21 -
22 22  {{code language="bash"}}
23 23  #!/bin/bash
24 24  
... ... @@ -26,68 +26,45 @@
26 26  echo "Aujourd'hui nous sommes le $(date)"
27 27  {{/code}}
28 28  
29 ------
28 +---
30 30  
31 31  == Scripts Bash ==
31 +Un script Bash est un fichier texte commençant par `#!/bin/bash`. Il est exécutable et permet d'automatiser des tâches.
32 32  
33 -Un script Bash est un fichier texte commençant par ###!/bin/bash##. Il est exécutable et permet d'automatiser des tâches.
33 +* Donner les droits : `chmod +x monscript.sh`
34 +* Lancer : `./monscript.sh`
34 34  
35 -* Donner les droits : ##chmod +x monscript.sh##
36 -* Lancer : ##./monscript.sh##
37 -* Vérifier la syntaxe sans exécuter : ##bash -n monscript.sh##
36 +---
38 38  
39 -Pour un script qui fait autre chose qu'afficher du texte, commencer par le mode strict :
40 -
41 -{{code language="bash"}}
42 -set -euo pipefail
43 -{{/code}}
44 -
45 -* ##-e## : arrêt à la première commande en échec
46 -* ##-u## : erreur si une variable non définie est utilisée
47 -* ##-o pipefail## : un échec dans un tube n'est plus masqué
48 -
49 ------
50 -
51 51  == Structures de contrôle ==
39 +* **if/else** :
40 + {{code language="bash"}}
41 + if [ "$USER" = "root" ]; then
42 + echo "Attention, vous êtes root !"
43 + else
44 + echo "Utilisateur normal."
45 + fi
46 + {{/code}}
52 52  
53 -**if/else** :
48 +* **boucles** :
49 + {{code language="bash"}}
50 + for f in *.txt; do
51 + echo "Fichier : $f"
52 + done
53 + {{/code}}
54 54  
55 -{{code language="bash"}}
56 -if [ "$USER" = "root" ]; then
57 - echo "Attention, vous êtes root !"
58 -else
59 - echo "Utilisateur normal."
60 -fi
61 -{{/code}}
55 +---
62 62  
63 -**Boucles** :
64 -
65 -{{code language="bash"}}
66 -for f in *.txt; do
67 - echo "Fichier : $f"
68 -done
69 -{{/code}}
70 -
71 ------
72 -
73 73  == Fichiers de configuration ==
58 +* `~/.bashrc` : exécuté à chaque shell interactif
59 +* `~/.bash_profile` : à la connexion
60 +* `/etc/bash.bashrc` : global à tous les utilisateurs
74 74  
75 -* ##~~/.bashrc## : exécuté à chaque shell interactif
76 -* ##~~/.bash_profile## : à la connexion
77 -* ##/etc/bash.bashrc## : global à tous les utilisateurs
62 +---
78 78  
79 -Voir aussi [[Oh My Bash>>doc:Wiki Batcave John.Infrastructure.Oh My Bash.WebHome]], utilisé sur le serveur principal.
80 -
81 ------
82 -
83 83  == Liens internes ==
65 +* [[Retour à la section Tutos Linux>>Wiki Batcave John.TutosLinux]]
84 84  
85 -* [[Retour à la section Tutos Linux>>doc:Wiki Batcave John.TutosLinux.WebHome]]
86 -* [[Variables d’environnement>>doc:Wiki Batcave John.TutosLinux.Variables.WebHome]]
87 -* [[Raccourcis Bash>>doc:Wiki Batcave John.TutosLinux.Raccourcis.WebHome]]
88 -* [[Scripts perso>>doc:Wiki Batcave John.TutosLinux.ScriptsPerso.WebHome]]
89 -
90 90  == Ressources externes ==
68 +* [Advanced Bash Scripting Guide](https://tldp.org/LDP/abs/html/)
91 91  
92 -* [[Advanced Bash Scripting Guide>>https://tldp.org/LDP/abs/html/]]
93 -* [[ShellCheck>>https://www.shellcheck.net]]