Negli script, gli errori vengono generalmente inviati al descrittore di file 2 con &2
, ovvero:
echo "error" >&2
A volte /dev/stderr
viene utilizzato invece:
echo "error" > /dev/stderr
Guardando /dev/stderr
, vedo che è solo un collegamento simbolico a /proc/self/fd/2
, che a sua volta è un collegamento simbolico a /dev/pts/5
(sul mio terminale corrente).
Sembra un po 'complicato. C'è qualche logica dietro questo?
Sta usando /dev/stderr
e &2
equivalente?
Qualcuno di quelli è preferito rispetto all'altro?
>2
, o >&2
?
echo "error" >2
crea un file con nome2
e contenutoerror
.