У сценаріях помилки зазвичай надсилаються до дескриптора файлів 2 &2
, тобто:
echo "error" >&2
Іноді /dev/stderr
використовується замість цього:
echo "error" > /dev/stderr
Дивлячись /dev/stderr
, я бачу, що це лише симпосилання на /proc/self/fd/2
, що, в свою чергу, є симпосиланнями на /dev/pts/5
(на моєму поточному терміналі).
Здається трохи складніше. Чи є за цим якась логіка?
Використовується /dev/stderr
та &2
еквівалентно?
Хтось із них віддає перевагу іншим?
>2
, чи >&2
?
echo "error" >2
створює файл з ім'ям2
та вмістомerror
.