J'ai une commande que j'exécute produit une tonne de sortie, je veux faire taire la sortie sans écrire dans un fichier. J'ai utilisé ce qui suit pour envoyer toutes les sorties dans un fichier, mais encore une fois, je ne veux aucune sortie de fichier:
command > out.txt 2>&1
Je l'ai déjà utilisé command > /dev/null
sur ma boîte CentOS, mais je ne trouve rien de similaire pour Windows.
windows
windows-7
windows-command-prompt
stdout
Gorges d'Alec
la source
la source
command > /dev/null
sur votre CentOS.command > /bin/null
sur CentOS, vous avez créé un fichier de fichier commun nommé/bin/null
sur votre système. Vous pouvez dire «ça a marché! , si tu veux. Ce fichier contient maintenant la sortie stdout et stderr de votrecommand
. Habituellement,/bin/
il n'y a que des fichiers exécutables. Et généralement, seul l' utilisateur root est autorisé à y créer des fichiers. Donc, si ce fichier est là, vous avez exécuté votre commande en tant qu'utilisateur root .../bin/null
n'existe généralement pas - et/dev/null
(ce que j'ai mentionné) est généralement utilisé comme le `` tout noir '' où la sortie indésirable devrait disparaître dans ...Réponses:
Tu veux
command > nul 2>&1
.la source
> nul 2>&1
ou2> nul
pour tuer stderr.nul
est le mot-clé spécial de Windows pour une sortie nulle (c'est-à-dire rejeter la sortie). Sur les systèmes basés sur * nix (comme Ranvir fait référence), ils utilisent à la place le fichier spécial/dev/null
. Le>
moyen "rediriger" (et2>
signifie le tampon de redirection 2 - qui est la sortie d'erreur)Tu veux
command > null 2>&1
nul
ne fonctionne que dans l'invite de commande alors qu'ilnull
fonctionne en PowerShellNull peut être utilisé dans et cmd.exe pour des raisons de compatibilité, mais crée un fichier appelé null.
la source