¿Tienes un mnemotécnico o un sistema? Esto me ha molestado durante años, siempre tengo que buscarlo.
Respuesta1
Si es un programador de C, puede considerarlo &1
como "la dirección de 1", por lo que 2>&1
se lee "redirigir el descriptor de archivo n.° 2 al mismo lugar que el n.° 1".
Respuesta2
"Dos a y uno"("para" ser >
) tiene más sentido lógico para mí que "Dos y para uno", que es con lo que normalmente lo confundo. Si consideras "y uno" como un solo sustantivo (un lugar), también tiene sentido gramatical en contexto, lo cual es más difícil de hacer con "Dos y para uno"; tendrías que considerar "para uno" como un solo sustantivo, y aún así no tendría sentido contextual.
Respuesta3
No es un mnemónico, pero lo leo de la siguiente manera:
0
es estándar.
1
es estándar.
2
es estándar.
>
es dentro.
<
está fuera de.
&
es un descriptor de archivo (en algunos shells).
2>&1
2 > & 1
stderr into file descriptor 1
redirect stderr into stdout
Podría cambiar si ha manipulado alguno de los descriptores de archivos antes de la redirección...
2>somefile 1>&2
2 > somefile 1 > &2
stderr into somefile and stdout into file descriptor 2
redirect stderr into somefile and stdout into somefile.
Respuesta4
Recordé que siempre es 2 -> 1. Stderr a stdout.
La parte intermedia siempre es la difícil y siempre la arruinaba, hasta que recordé que primero viene el personaje agudo >
, luego el personaje que no puedo escribir en la vida real &
.
Así que nunca 2&>1
, siempre2>&1