Логгирование или logger в bash
logger хорошо подходит для журналирования в bash.
!! Но имеет ошибку: аргумент-t/--tag
опционален и по умолчанию принимает username.
Теги в вызове logger:
В простейшем случае используются две переменные: $0
- имя скрипта; $$
- идентификатор процесса. Трабл с $0
в том, что ее содержимое зависит от способа вызова скрипта. Лучше юзать basename
.
Если уже есть переменная для хранения имени файла сценария, например $PROGRAM
, юзай ее.
Если нет переменной для хранения имени скрипта, получить его можно прямо в команде logger. Код выглядит не очень ясным, но работает (хз хз). Попробуй echo "${0##*/}[$$]"
, чтобы оценить результат.
А если хочешь свой логгер создать - смотри “printf usage”.
Соус: Книга “Идиомы Bash” ⇒ Глава 10. “Помимо идиом: работа с bash” ⇒ “Журналирование в bash”