Sommaire

Enchaînements et redirections

La puissance des scripts shell et des nombreuses commandes tient dans le principe KISS : chaque outil a son propre but. Pour que cela soit utile, il est nécessaire de pouvoir faire interagir les différentes commandes que l’on appelle dans le script.

1. Redirections des entrées/sorties

Les flux d’entrée et de sortie des commandes (stdin, stdout, stderr) peuvent être redirigés, afin d’avoir une autre entrée que le clavier et une autre sortie que l’écran. Dans le cadre de scripts exécutés automatiquement, cela permet d’effectuer des traitements sur la base de données contenues dans des fichiers précédemment créés, ou encore de générer une sortie formatée d’une certaine manière ou encore des logs témoignant du bon (ou du mauvais) fonctionnement du script.

a. Redirection de la sortie standard

Le flux de sortie stdout peut être redirigé dans un fichier grâce à l’opérateur « > », suivi du nom du fichier dans lequel écrire la sortie en question :

ls -1 /etc > /tmp/configuration.txt

… cette commande enregistre la liste des fichiers du répertoire /etc dans le fichier /tmp/configuration.txt, en écrasant ce fichier s’il existe déjà.

On peut également demander au shell de ne pas écraser le fichier, mais d’ajouter la sortie de la commande ...