BASH
Le Bash est le shell du projet GNU. Ce n’est pas le seul, ZSH, le CSH … sont aussi des shell. Son créateur original est Brian Fox
Le Bash a l’avantage d’être présent de base dans toutes les distribution GNU/LINUX ainsi que sous MAC OS.
Les entrés/sorties
A chaque commandes est associé :
* Une entré standard nommé stdin
* Une sortie standard nommé stdout
* Une sortie d’erreur nommé stderr
Les méta-caractères
- *: correspond à n’importe quelle caractère.
- ?: correspond à un caractère quelconque
- `: la commande comprise en les deux ` est interprété
- \: permet d’échapper un caractère
- ‘: les caractères entre les deux ‘ seront interprétés de façon littérale
- » : les caractères entre les deux » seront échappés sauf \; $ et `
- [ ] : n’importe quel caractère compris entre cet interval.
Gestion des processus
Lorsque l’on lance une commande, le shell va lancer cette commande via son processus, mais il est possible de faire autrement.
Si commande est une commande du shell.
$ commande &
Va lancer la commande dans un autre processus.Et vous rend la main dans la console.
$ commande1 && commande2
Lance la commande2 seulement si la commande1 s’est fini sans erreur.
$ commande1 || commande2
Lance la commande 2 seulement si la commande1 s’est fini avec une erreur.
$ commande1 `commande2`
$ commande1 $(commande2)
Lance la commande1 avec le résultat de la commande2, on préfère la deuxième solution.
Redirection des entrées et sorties
Il est possible de rediriger les flux en provenance des commandes vers d’autres commandes ou ailleurs.
- < : dirige le flux vers l’entrée de la commande
- > : dirige le flux de sortie en écrasant le contenu du fichier destinataire
- >> : dirige le flux de sortie en le concaténant dans un fichier
- 2> : redirige les erreurs vers un fichier (ou autre)
- 2>&1 : redirige les erreurs et la sortie standard
Les variables dans le bash
Pour cela j’ai fais un chapitre à part : Le traitement des variables du bash
Les différentes structures de contrôle
Les tests en bash
Les boucles en bash
Les conditions en bash
Les fonctions en bash
exemples commenté de script shell
Le bash est programmable, pour cela on place les instructions dans des scripts bash.