Qual è la differenza di reindirizzare un'uscita utilizzando >
, &>
, >&
e 2&>
?Qual è la differenza di reindirizzare un output usando ">", "&>", "> &" e "2 &>"?
risposta
>
reindirizza stdout in un file2&>
reindirizza file handle "2" (quasi sempre stderr) a qualche altro file handle (è generalmente scritto come2>&1
, che reindirizza stderr nello stesso posto come stdout).&>
e>&
redirect sia stdout e stderr in un file. Normalmente è scritto come&>file
(o>&file
). È funzionalmente uguale a>file 2>&1
.2>
reindirizza l'output al file handle 2 (in genere stderr) in un file.
Ulteriori dettagli qui: http://tldp.org/LDP/abs/html/io-redirection.html e http : //tldp.org/LDP/abs/html/ioredirintro.html – lecodesportif
La e commerciale significa un handle di file o cosa significa esattamente? – Banjer
@Banjer: la e commerciale indica in genere che il reindirizzamento si applica a più di un handle di file, ma la semantica esatta dipende dall'utilizzo di esso. – mipadi
1> (o>) è per lo stdout, l'output di un comando. 2> è per stderr, l'output dell'errore del comando.
This page è un po 'prolisso, ma ha buone spiegazioni ed esempi delle diverse combinazioni di comandi.
http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html –