Travailler avec des scripts shell a toujours été intéressant pour les programmeurs et les administrateurs système car la sortie les aide tous les deux pour le débogage et la surveillance. La configuration de la plupart des distributions Linux repose en grande partie sur des fichiers. Il est donc important de comprendre le concept d'écriture de données dans un fichier texte à l'aide d'un script ou de redirection de la sortie sur la ligne de commande.
Linux utilise trois flux de données principaux pour communiquer avec l'utilisateur et l'ordinateur :
- stdin (entrée standard)
- stdout (SORTIE STANDARD)
- stderr (ERREUR STANDARD)
1. standard
Il s'agit du flux de données pour l'entrée d'informations. Toute entrée provenant d'un appareil tel qu'un clavier ou une souris relève du flux de données d'entrée standard. stdin est représenté par 0 ID de flux.
[ Vous aimerez peut-être également lire : Cinq façons d'utiliser les opérateurs de redirection dans bash ]
2. sortie standard
Il s'agit du flux de données pour la sortie des données. La sortie des appareils (comme le moniteur, le haut-parleur, etc.) relève du flux de données de sortie standard. sortie standard est représenté par 1 ID de flux.
3. stderr
L'erreur standard est utilisée pour gérer toutes les erreurs produites par les commandes. Tout flux de périphérique (comme un moniteur, un haut-parleur, etc.) qui avertit l'utilisateur que quelque chose s'est mal passé relève de stderr. stderr est représenté par 2 ID de flux.
Comment écrivez-vous des données dans un fichier ?
Utilisez les opérateurs de redirection pour récupérer les données des flux stdout et stderr et les rediriger vers un fichier texte.
Redirection :La redirection est une fonctionnalité Linux utilisée pour modifier les périphériques d'entrée/sortie lors de l'exécution d'une commande.
Redirection des sorties/erreurs
Pour écrire des données dans un fichier texte à partir d'un script Bash, utilisez la redirection de sortie/d'erreur avec le >
et >>
opérateurs de redirection.
>
Remplace les données d'un fichier texte.
>>
Ajoute des données à un fichier texte.
Créer un script de base et comprendre la redirection
date >> test1.txt
who >> test1.txt
date > test2.txt
who > test2.txt
Ici, la sortie des deux commandes sera ajoutée à test1.txt
tandis que test2.txt
ne contiendra que la sortie de who
commande.
Aller plus loin avec la redirection
Le script ci-dessus redirigera uniquement la sortie et échouera en cas d'erreur. Pour utiliser la redirection pour la sortie, l'erreur ou les deux, vous devez spécifier les paramètres supplémentaires.
Pour rediriger la sortie :>
ou >>
ou 1>
ou 1>>
Pour l'erreur de redirection :2>
ou 2>>
Pour rediriger les deux :&>
ou &>>
Erreurs de redirection
date --who 2>> test1.txt
who 2>> test1.txt
Pour rediriger uniquement les erreurs, vous avez spécifié le paramètre spécifique de l'erreur. Le fichier de sortie ne contiendra que la sortie de la première commande car il a un mauvais argument.
D'autres arguments peuvent être utilisés de manière interchangeable pour obtenir différentes fonctionnalités.
L'écriture du script pour d'autres commandes est identique au script ci-dessus et nécessite les opérateurs affichés ci-dessus.
[ Télécharger maintenant :Un guide de l'administrateur système sur les scripts Bash. ]
Récapitulez
La redirection des données vers stdout ou stderr est très utile pour les développeurs et les administrateurs système. Comprendre ces outils et leurs résultats vous aidera à créer de nouveaux fichiers, à dépanner et à collecter des informations système.