#1 Le 04/06/2021, à 13:28
- zephyre123
Pourquoi je n'ai pas d'erreur avec cette commande ?
Bonjour,
La commande est la suivante :
cat /etc/toto etc/passwd | grep root 2> dev/null
Hors le fichier /etc/toto n'existe pas => je devrai voir une erreur sur mon écran
Hors il n'en n'est rien.
Je ne comprends pas pourquoi ? Avez vous une explication ?
Merci d'avance pour votre aide.
Hors ligne
#2 Le 04/06/2021, à 13:31
- abelthorne
Re : Pourquoi je n'ai pas d'erreur avec cette commande ?
Tu rediriges les erreurs (2) dans /dev/null, c'est à dire nulle part.
EDIT : il y a des explications assez claires sur les sorties/redirections là par exemple : https://openclassrooms.com/fr/courses/4 … edirection
Dernière modification par abelthorne (Le 04/06/2021, à 13:32)
Hors ligne
#3 Le 04/06/2021, à 13:48
- zephyre123
Re : Pourquoi je n'ai pas d'erreur avec cette commande ?
Je ne suis pas d'accord avec toi aberthorne.
C'est ce que je me suis dit au début également.
Mais en faire l'ordre des redirections est important et on ne redirige pas l'erreur standard de la première commande (cat /etc/toto).
Fait la même commande sans le 2> dev/null => même résultat.
Ainsi ton explication ne tient pas la route aberthorne.
Je maintiens normalement il devrai y avoir un message d'erreur.
Dernière modification par zephyre123 (Le 04/06/2021, à 13:49)
Hors ligne
#4 Le 04/06/2021, à 13:53
- Hizoka
Re : Pourquoi je n'ai pas d'erreur avec cette commande ?
Salut, perso j'ai bien les messages d'erreur :
cat /etc/toto etc/passwd | grep root 2> dev/null
bash: dev/null: Aucun fichier ou dossier de ce type
cat: /etc/toto: Aucun fichier ou dossier de ce type
cat: etc/passwd: Aucun fichier ou dossier de ce type
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#5 Le 04/06/2021, à 14:01
- Compte supprimé
Re : Pourquoi je n'ai pas d'erreur avec cette commande ?
Salut, perso j'ai bien les messages d'erreur :
cat /etc/toto etc/passwd | grep root 2> dev/null bash: dev/null: Aucun fichier ou dossier de ce type cat: /etc/toto: Aucun fichier ou dossier de ce type cat: etc/passwd: Aucun fichier ou dossier de ce type
Idem...
#6 Le 04/06/2021, à 14:04
- abelthorne
Re : Pourquoi je n'ai pas d'erreur avec cette commande ?
Déjà, il y a des erreurs auxquelles je n'avais pas fait attention : il manque un slash devant etc/passwd et dev/null.
Mais même corrigé, ça devrait normalement renvoyer les erreurs de la commande dans le vide. Je confirme que ce n'est pas le cas chez moi non plus, c'est bizarre. À moins que la sortie de cat ne soit pas considérée comme une erreur (càd avec un code de retour) ?
Hors ligne
#7 Le 04/06/2021, à 14:11
- ylag
Re : Pourquoi je n'ai pas d'erreur avec cette commande ?
Bonjour,
Je crois que ça aurait à voir avec le comportement du « pipe » -> | ?
yvan@yvan-maison:~$ cat /etc/toto etc/passwd 2>/dev/null
yvan@yvan-maison:~$
yvan@yvan-maison:~$ cat /etc/toto etc/passwd
cat: /etc/toto: Aucun fichier ou dossier de ce type
cat: etc/passwd: Aucun fichier ou dossier de ce type
yvan@yvan-maison:~$
A+
Dernière modification par ylag (Le 04/06/2021, à 14:15)
Hors ligne
#8 Le 04/06/2021, à 14:15
- pingouinux
Re : Pourquoi je n'ai pas d'erreur avec cette commande ?
Bonjour zephyre123,
Tu ne nous montres rien. Fais un copier-coller de la commande et de son résultat (voir retour utilisable de commandes).
Hors ligne
#9 Le 04/06/2021, à 14:18
- abelthorne
Re : Pourquoi je n'ai pas d'erreur avec cette commande ?
Je crois que ça aurait à voir avec le comportement du « pipe » -> | ?
Ah, effectivement. Avec la syntaxe suivante, ça a l'air de fonctionner comme attendu :
cat /etc/toto /etc/passwd 2> /dev/null | grep root
Je pensais que la sortie traitait l'ensemble du pipe mais on dirait bien que non.
Hors ligne
#10 Le 04/06/2021, à 14:21
- zephyre123
Re : Pourquoi je n'ai pas d'erreur avec cette commande ?
Autant pour moi maintenant j'ai bien un message d'erreur dans les deux cas, avec et sans la redirection.
Bizarre.
Avec la redirection :
cat /etc/toto /etc/passwd | grep root 2> /dev/null
cat: /etc/toto: Aucun fichier ou dossier de ce type
root:x:0:0:root:/root:/bin/bash
nm-openvpn:x:126:134:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin
Sans la redirection :
cat /etc/toto /etc/passwd | grep root
cat: /etc/toto: Aucun fichier ou dossier de ce type
root:x:0:0:root:/root:/bin/bash
nm-openvpn:x:126:134:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin
La c'est ok pour moi.
Dernière modification par zephyre123 (Le 04/06/2021, à 14:24)
Hors ligne
#11 Le 04/06/2021, à 14:23
- Hizoka
Re : Pourquoi je n'ai pas d'erreur avec cette commande ?
abelthorne bah non, ti tu veux que ça traite l'ensemble
(cat /etc/toto /etc/passwd | grep root) 2> /dev/null
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#12 Le 04/06/2021, à 15:35
- ylag
Re : Pourquoi je n'ai pas d'erreur avec cette commande ?
Bonjour,
En fait, il ne faudrait pas utiliser la commande cat pour rediriger vers grep :
yvan@yvan-maison:~$ grep root /etc/toto /etc/passwd 2>/dev/null
/etc/passwd:root:x:0:0:root:/root:/bin/bash
/etc/passwd:nm-openvpn:x:118:124:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin
yvan@yvan-maison:~$
yvan@yvan-maison:~$ grep root /etc/toto /etc/passwd
grep: /etc/toto: Aucun fichier ou dossier de ce type
/etc/passwd:root:x:0:0:root:/root:/bin/bash
/etc/passwd:nm-openvpn:x:118:124:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin
yvan@yvan-maison:~$
A+
Dernière modification par ylag (Le 04/06/2021, à 18:24)
Hors ligne