Sommaire

Gestion des entrées/sorties d’un script

1. Redirection des entrées/sorties standards

La commande interne exec permet de manipuler les descripteurs de fichier du shell courant. Utilisée à l’intérieur d’un script, elle permet de rediriger de manière globale les entrées/sorties de celui-ci.

Rediriger l’entrée standard d’un script

exec 0< fichier1

Toutes les commandes du script placées derrière cette directive et qui lisent leur entrée standard vont extraire leurs données à partir de fichier1. Il n’y aura donc plus d’interaction avec le clavier.

Rediriger la sortie standard et la sortie d’erreur standard d’un script

exec 1> fichier1 2> fichier2

Toutes les commandes du script placées derrière cette directive et qui écrivent sur leur sortie standard enverront leurs résultats dans fichier1. Celles qui écrivent sur leur sortie d’erreur standard enverront leurs erreurs dans fichier2.

Rediriger la sortie standard et la sortie d’erreur standard d’un script dans un même fichier

exec 1> fichier1 2>&1

Toutes les commandes du script placées derrière cette directive enverront leurs résultats et leurs erreurs dans fichier1 (cf. chapitre Mécanismes essentiels du shell - Redirections).

Premier exemple

Le script batch1.sh envoie sa sortie standard dans /tmp/resu et sa sortie d’erreur standard dans ...