Bash:
Запис до стандартної помилки

Як це зробити:

У Bash, ви використовуєте >&2 для перенаправлення виводу в stderr. Ось простий приклад:

echo "Це звичайне повідомлення"
echo "Це повідомлення про помилку" >&2

Під час виконання цього скрипта буде відображено обидва повідомлення на консолі, але якщо ви їх перенаправите, ви зможете відокремити stdout від stderr. Наприклад:

bash script.sh > output.txt 2>error.txt

output.txt міститиме "Це звичайне повідомлення", тоді як error.txt захопить "Це повідомлення про помилку".

Для практичного прикладу розглянемо скрипт, який обробляє файли й повідомляє про помилку, якщо файл не існує:

filename="example.txt"

if [ ! -f "$filename" ]; then
    echo "$filename не існує!" >&2
    exit 1
else
    echo "Обробка $filename"
fi

Приклад виводу прямо в консоль, коли example.txt не існує:

example.txt не існує!

У Bash немає прямих сторонніх бібліотек для обробки stderr, оскільки перенаправлення підтримується за замовчуванням і зазвичай є достатнім. Однак для складних застосунків можна інтегрувати рамки логування або зовнішні інструменти логування, такі як syslog або log4bash, щоб ефективніше управляти як stdout, так і stderr.