Bash

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.