So cosa
program > /dev/null 2>&1
fa. Reindirizza l'output a /dev/null
e 2>&1
significa reindirizzare l'output dell'errore nello stesso punto in cui viene inviato l'output.
Il mio problema è che devo sempre cercarlo su Google perché non lo ricordo mai.
Quindi, provo &2>1
, 1>2&
, 1>&2
... Provo ogni combinazione finché non la cerco su Google...
Qual è il trucco per ricordarlo facilmente?
Risposta accettata:
L'output è migliore dell'errore, quindi viene prima (1 vs 2).
>
è l'abbreviazione di "va a". A sinistra c'è ciò che voglio inviare ea destra è dove voglio inviarlo. Dal momento che "dove" è (quasi) sempre un file, qualcosa come
program > /dev/null 2>1
reindirizzerebbe a un file chiamato 1. Pertanto, la e commerciale (&)
modifica il file in descrittore di file.
Sfortunatamente, non mi sono imbattuto né sviluppato il mio mnemonico, ma quando stavo imparando per la prima volta * nix, ho trovato questo modo logico di funzionare bene. Dopo alcune prove, diventa una seconda natura.