Fish Shell:
Запис до стандартної помилки
Як:
У командному рядку Fish Shell ви можете здійснити запис в stderr, перенаправивши ваш вивід за допомогою >&2
. Ось простий приклад:
echo "Це повідомлення про помилку" >&2
Ця команда просто виводить повідомлення в stderr замість stdout. Якби ви захотіли написати скрипт, що виводить як звичайні, так і помилкові повідомлення, ви могли б зробити щось на зразок цього:
echo "Початок процесу"
echo "Сталася помилка" >&2
echo "Процес завершено"
Зразок виводу, якщо ви запустите скрипт і перенаправите stderr у файл:
Початок процесу
Процес завершено
Повідомлення про помилку не з’явиться на стандартному виводі, але буде знайдено у файлі, до якого ви перенаправили stderr.
У сценаріях, які потребують більш складного оброблення помилок або логування, у Fish Shell відсутні вбудовані бібліотеки, спеціально призначені для цього. Однак, ви можете скористатися зовнішніми інструментами або написати функції, які допомагають у цьому. Наприклад, створення простої функції логування могло б виглядати так:
function log_error
echo $argv >&2
end
log_error "Це розширене повідомлення про помилку"
Ця функція log_error
прийме будь-який рядок, який ви їй даєте, і запише його в stderr. Використання таких функцій може допомогти зберегти чистоту та послідовність обробки помилок у ваших скриптах.