Windows: redirige stdout y stderror a nada


33

Tengo un comando que estoy ejecutando produce una tonelada de salida, quiero silenciar la salida sin escribir en un archivo. He usado lo siguiente para enviar toda la salida a un archivo, pero nuevamente no quiero ninguna salida de archivo:

command > out.txt 2>&1

Lo he usado command > /dev/nullen mi caja CentOS antes, pero no puedo encontrar algo similar para Windows.


Espero que hayas usado command > /dev/nullen tu CentOS.
Kurt Pfeifle

@pipitas lo que sea que hice funcionó: D
Alec Gorge

Si realmente usó command > /bin/nullen CentOS, ha creado un archivo de archivo común nombrado /bin/nullen su sistema. Puedes decir '¡Funcionó!' , si tu quieres. Este archivo ahora contiene la salida stdout y stderr de su command. Por lo general, /bin/solo hay archivos ejecutables. Y, por lo general, solo el usuario raíz puede crear archivos allí. Así que si ese archivo existe, se ha ejecutado el comando como usuario root ... /bin/nullpor lo general no existe - y /dev/null(que he mencionado) se utiliza generalmente como el 'negro entero' , donde la producción no deseada debe desaparecer en ...
Kurt Pfeifle

Buen punto, no había pensado en eso. Sin embargo, estoy bastante seguro de que es solo mi memoria defectuosa porque estaba en Windows en ese momento.
Alec Gorge

Respuestas:


47

Que desea command > nul 2>&1.


¡Gracias! eso funciona. ¡Sin embargo, tengo que esperar 12 minutos para aceptar la respuesta (requisito predeterminado del servidor)!
Alec Gorge

77
Esto solo redirige stdout. También necesitas > nul 2>&1o 2> nulmatar a stderr.
Grawity

Sí, lo sé, pero gracias por mencionarlo a otros que visitan esta pregunta.
Alec Gorge

solo para agregar, recibí un error de permiso denegado mientras usaba: sudo hostname -f 2> nul, mientras que el siguiente comando funcionó bien: sudo hostname -f 2> / dev / null Para aquellos que se encuentran con problemas de permisos mientras usan nul
Ranvir

1
@AminM nules la palabra clave especial de Windows para una salida nula (es decir, salida de descarte). En los sistemas basados ​​en * nix (como se refiere Ranvir), en su lugar usan el archivo especial /dev/null. El >medio "redirige" (y 2>significa redirigir el búfer 2, que es la salida de error)
Doktor J

3

Usted quiere command > null 2>&1

nulsolo funciona en el símbolo del sistema, mientras que nullfunciona en powershell

Null se puede usar en cmd.exe para compatibilidad, pero crea un archivo llamado nulo.


3
El símbolo del sistema es cmd.exe. '> null' crea un archivo llamado 'null' con lo que sea que esté dirigiendo desde cmd.exe y desde PowerShell.
Sr. Smythe

No tenía ni idea. Editado debidamente mi respuesta.
AirCombat
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.