W skryptach błędy są zwykle wysyłane do deskryptora pliku 2 za pomocą &2
, tj .:
echo "error" >&2
Czasami /dev/stderr
używa się zamiast tego:
echo "error" > /dev/stderr
Patrząc na to /dev/stderr
, widzę, że jest to tylko dowiązanie symboliczne /proc/self/fd/2
, które z kolei jest dowiązaniem symbolicznym /dev/pts/5
(na moim obecnym terminalu).
Wydaje się to trochę skomplikowane. Czy kryje się za tym jakaś logika?
Używa /dev/stderr
i &2
ekwiwalent?
Czy któryś z nich jest preferowany?
>2
lub >&2
?
echo "error" >2
tworzy plik z nazwą2
i zawartościąerror
.