0 Votes

Code source wiki de Bash

Version 1.10 par john le 2025/05/24 23:27

Masquer les derniers auteurs
john 1.3 1 = Le Bash =
2
3 {{toc/}}
4
5 == Présentation ==
john 1.5 6
john 1.3 7 **Bash** (*Bourne Again SHell*) est le shell par défaut sur la majorité des distributions GNU/Linux.
8 C'est à la fois un interpréteur de commandes interactif et un langage de script puissant.
9
john 1.7 10 ----
john 1.3 11
12 == Principes de base ==
john 1.5 13
john 1.3 14 * Exécution de commandes : `ls`, `pwd`, `echo`, etc.
15 * Variables simples : `nom="John"`
16 * Substitution : `$(commande)` ou \`commande\`
17 * Redirection : `>`, `>>`, `<`, `|`
18 * Opérateurs conditionnels : `if`, `&&`, `||`
19
john 1.7 20 ----
john 1.3 21
22 == Exemple simple ==
john 1.5 23
john 1.3 24 {{code language="bash"}}
25 #!/bin/bash
26
27 echo "Bonjour $USER"
28 echo "Aujourd'hui nous sommes le $(date)"
29 {{/code}}
30
john 1.7 31 ----
john 1.3 32
33 == Scripts Bash ==
john 1.5 34
john 1.3 35 Un script Bash est un fichier texte commençant par `#!/bin/bash`. Il est exécutable et permet d'automatiser des tâches.
36
37 * Donner les droits : `chmod +x monscript.sh`
38 * Lancer : `./monscript.sh`
39
john 1.7 40 ----
john 1.3 41
42 == Structures de contrôle ==
john 1.5 43
john 1.3 44 * **if/else** :
john 1.5 45 {{code language="bash"}} if [ "$USER" = "root" ]; then
john 1.3 46 echo "Attention, vous êtes root !"
47 else
48 echo "Utilisateur normal."
49 fi
50 {{/code}}
51
52 * **boucles** :
john 1.5 53 {{code language="bash"}} for f in *.txt; do
john 1.3 54 echo "Fichier : $f"
55 done
56 {{/code}}
57
john 1.7 58 ----
john 1.3 59
60 == Fichiers de configuration ==
john 1.5 61
62 * `/.bashrc` : exécuté à chaque shell interactif
63 * `/.bash_profile` : à la connexion
john 1.3 64 * `/etc/bash.bashrc` : global à tous les utilisateurs
65
john 1.7 66 ----
john 1.3 67
68 == Liens internes ==
69
john 1.9 70 * [[Retour à la section Tutos Linux>>TutosLinux.WebHome]]
john 1.5 71
john 1.3 72 == Ressources externes ==
john 1.5 73
john 1.3 74 * [Advanced Bash Scripting Guide](https://tldp.org/LDP/abs/html/)