Commandes et Sortie d'erreurs
Résolu/Fermé
Shooter78
Messages postés
12
Date d'inscription
mardi 12 mars 2013
Statut
Membre
Dernière intervention
13 septembre 2014
-
20 janv. 2014 à 22:09
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 21 janv. 2014 à 10:55
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 21 janv. 2014 à 10:55
A voir également:
- Commandes et Sortie d'erreurs
- Invite de commandes - Guide
- Commandes terminal mac - Guide
- Airpods 3 date de sortie - Guide
- Serveur entrant et sortant - Guide
- Windows 12 date de sortie - Accueil - Windows
2 réponses
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
Modifié par mamiemando le 20/01/2014 à 22:36
Modifié par mamiemando le 20/01/2014 à 22:36
Pré-requis
Avant de commencer il faut comprendre qu'un processus écrit sur deux flux :
- le premier (le flux de sortie), qui correspond aux opérateurs
- le second (le flux d'erreur), qui correspond aux opérateurs
Ces flux peuvent être rattrapés par une redirection (l'un des opérateurs mentionnés si dessous ou par un pipe
Syntaxe
L'ordre dans lequel tu écris tes redirections est important. Prenons l'exemple de la commande
1) Si tu regardes ci-dessous, le flux de sortie est redirigé vers toto.txt ...
... et le flux d'erreur est redirigé vers le flux de sortie comme le prouve :
2) Si au contraire tu écris ceci, tout se passe "bien" :
Dans ton cas
Ainsi dans ton cas tu as probablement simplement écrit tes redirections dans le mauvais ordre, ce qui donnerait :
Peut-être même que dans ton cas, il suffit d'écrire directement le flux d'erreur dans le fichier et ne pas rediriger le flux de sortie comme ceci :
Bonne chance
Avant de commencer il faut comprendre qu'un processus écrit sur deux flux :
- le premier (le flux de sortie), qui correspond aux opérateurs
1>(aussi noté
>) et
1>>(aussi noté
>>)
- le second (le flux d'erreur), qui correspond aux opérateurs
2>et
2>>.
Ces flux peuvent être rattrapés par une redirection (l'un des opérateurs mentionnés si dessous ou par un pipe
|) pour être redirigé vers un fichier de données (tous les opérateurs mentionnés ci dessous excepté
|) ou vers le flux d'entrée d'un nouveau processus (dans le cas de
|).
Syntaxe
L'ordre dans lequel tu écris tes redirections est important. Prenons l'exemple de la commande
find. Celle-ci écrit naturellement les résultats (les répertoires trouvés) dans le flux de sortie, et les erreurs (dues aux permissions par exemple) dans le flux d'erreur.
find /etc/
1) Si tu regardes ci-dessous, le flux de sortie est redirigé vers toto.txt ...
(mando@silk) (~) $ find /etc/ 2>&1 > toto.txt
find: "/etc/vpnc": Permission non accordée
find: "/etc/polkit-1/localauthority": Permission non accordée
find: "/etc/ssl/private": Permission non accordée
... et le flux d'erreur est redirigé vers le flux de sortie comme le prouve :
(mando@silk) (~) $ find /etc/ 2>&1 > toto | grep -v find
(mando@silk) (~) $
2) Si au contraire tu écris ceci, tout se passe "bien" :
(mando@silk) (~) $ find /etc/ 1> toto.txt 2>&1
(mando@silk) (~) $
Dans ton cas
Ainsi dans ton cas tu as probablement simplement écrit tes redirections dans le mauvais ordre, ce qui donnerait :
net rpc shutdown -f -t 60 -I 0.0.0.0 -U identifiant%password 1> test.log 2>&1
Peut-être même que dans ton cas, il suffit d'écrire directement le flux d'erreur dans le fichier et ne pas rediriger le flux de sortie comme ceci :
net rpc shutdown -f -t 60 -I 0.0.0.0 -U identifiant%password 2> test.log
Bonne chance
Shooter78
Messages postés
12
Date d'inscription
mardi 12 mars 2013
Statut
Membre
Dernière intervention
13 septembre 2014
3
Modifié par mamiemando le 21/01/2014 à 10:55
Modifié par mamiemando le 21/01/2014 à 10:55
Merci, ça fonctionne.
J'ai rarement vu un post aussi clair.
J'ai rarement vu un post aussi clair.
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
21 janv. 2014 à 10:55
21 janv. 2014 à 10:55
Merci pour le compliment et bonne continuation ;-)