Запись в стандартный поток ошибок

Fish Shell:
Запись в стандартный поток ошибок

Как это сделать:

Чтобы записать в stderr в Fish, используйте echo с >&2:

echo "Ошибка: Что-то пошло не так" >&2

Вывод не будет показан в обычном выводе команды, но будет виден в консоли или может быть перенаправлен в файл:

echo "Ошибка: Что-то пошло не так" >&2 > /dev/null

Эта команда подавляет стандартный вывод, но показывает сообщение об ошибке.

Погружение

На заре развития Unix были установлены отдельные потоки для данных и ошибок: stdout и stderr. Разделение их позволяет осуществлять чистую обработку данных и независимую обработку ошибок. В Fish, как и в других оболочках, >&2 — это оператор, который направляет вывод в stderr. Альтернативы для сигнализирования об ошибках включают статусы выхода и механизмы пользовательского логирования, но прямая запись в stderr проста и широко используется. Будучи оболочкой, разработанной для интерактивного использования, Fish включает в себя функции из других оболочек, включая эту конвенцию stderr.

См. также