Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 ?

Hizoka a écrit :

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 ?

ylag a écrit :

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