La commande tee prend l'entrée standard et l'envoie à un ou plusieurs fichiers et la sortie standard. La commande de tee est dérivée du tuyau T-SPLITTER. Il décompose simplement la sortie d'un programme afin qu'il puisse être affiché et enregistré dans un fichier. Il effectue les deux travaux simultanément, copie la sortie dans les fichiers ou variables donnés et affiche la sortie.
Syntaxe:
$ tee [Options] [Fichier]
Options:
Fichiers: il y a plusieurs fichiers. Les données de sortie sont écrites à chacun d'eux.
Le descripteur de fichier par défaut pour le processus d'écriture de messages d'erreur est stderr, souvent connu sous le nom d'erreur standard. Les erreurs standard peuvent être transmises à la ligne de commande en bash. Cet article concerne la redirection de la sortie de Stderr en utilisant la commande Tee dans différents scénarios.
Rediriger le stderr à l'aide de la commande tee
Des erreurs standard sont transmises à la ligne de commande en bash. Redirection STDERR pourrait vous permettre de capturer des messages d'erreur dans un fichier journal distinct ou d'éliminer complètement les messages d'erreur. Nous expliquerons la procédure pour rediriger Stderr en utilisant la commande Tee avec les exemples suivants.
Étape 1: Créez un fichier bash
Tout d'abord, créez un fichier bash «Linux.sh ”en utilisant la commande suivante:
$ nano linux.shot
Étape 2: Écrivez le code
Maintenant, écrivez le code suivant dans le fichier, ou vous pouvez écrire autre chose en fonction de vos besoins:
$ #!/ bac / bash
echo bonjour
1> & 2 Echo World
Étape 3: Vérifiez si le fichier bash fonctionne
Maintenant, vérifiez si le fichier bash fonctionne correctement ou si le code écrit est correct en exécutant la commande suivante dans le terminal:
$ ./ linux.shot
Le résultat donné produit le résultat correct, ce qui prouve que le code fonctionne correctement.
Exécutez une autre commande mentionnée ci-dessous pour vérifier le code de travail:
$ ./ linux.sh> / dev / null
Maintenant, exécutez la commande suivante pour vérifier le fonctionnement du code:
$ ./ linux.sh 2> / dev / null
Nous avons obtenu la production attendue; Cela signifie que le code est correct.
Étape 4: Redirigez le stderr vers la commande tee
Le> (…) (substitution du processus) établit un FIFO et le rend à la disposition du tee pour écouter. Ensuite, il utilise> (redirection de fichiers) pour envoyer le stdout de la commande au FIFO que votre premier tee est surveillé.
La commande suivante redirige Stderr vers le tee. Il redirige la sortie vers «/ tmp / log»:
$ ./ linux.sh 2 >> (tee / tmp / log)
Maintenant, sort le fichier dans lequel nous avons redirigé la sortie.
$ cat / tmp / log
Par défaut, Tee imprime à STDOUT. Imprimez ceci à stderr.
$ (./ linux.sh 2 >> (tee / tmp / log> & 2))> / dev / null
Conclusion
La commande Tee lit les données d'un fichier / fichiers d'entrée et écrit la sortie reçue dans de nombreux fichiers. Les erreurs de redirection vers STDERR peuvent être effectuées à l'aide de la commande TEE. Il existe de nombreuses façons de rediriger la sortie. Mais dans cet article, nous avons décrit une procédure, à l'aide d'un exemple, pour rediriger Stderr vers le tee à l'aide d'un fichier bash et afficher la sortie sur Ubuntu (système d'exploitation Linux). Vous trouverez cet article utile pour rediriger STDERR en utilisant la commande TEE.