yo se que
program > /dev/null 2>&1
hace. Redirige la salida a /dev/null
y 2>&1
significa redirigir la salida de error en el mismo lugar donde se envía la salida.
Mi problema es que siempre tengo que buscarlo en Google porque nunca lo recuerdo.
Entonces, pruebo &2>1
, 1>2&
, 1>&2
… Pruebo cada combinación hasta que la busco en Google…
¿Cuál es el truco para recordarlo fácilmente?
Respuesta aceptada:
La salida es mejor que el error, por lo que viene primero (1 frente a 2).
>
es la abreviatura de 'va a'. A la izquierda está lo que quiero enviar y a la derecha está donde quiero enviarlo. Dado que 'dónde' es (casi) siempre un archivo, algo como
program > /dev/null 2>1
redirigiría a un archivo llamado 1. Por lo tanto, el ampersand (&)
modifica el archivo al descriptor de archivo.
Desafortunadamente, no encontré ni desarrollé mi propio mnemotécnico, pero cuando estaba aprendiendo * nix por primera vez, encontré esta forma lógica de funcionar bien. Después de algunas pruebas, se convierte en una segunda naturaleza.