ведение журнала ошибок сценариев оболочки - PullRequest
3 голосов
/ 08 июня 2010

Я пытаюсь настроить простую структуру регистрации в моих сценариях оболочки.Для этого я хотел бы определить вызываемую функцию «log» как

log "LEVEL" $message

, где сообщение - это переменная, в которую я ранее перенаправлял выходные данные выполненных команд.Моя проблема в том, что я получаю ошибки со следующим

{message=command 2>&3 1>&3 3>&-} >&3
log "INFO" $message

Что-то не так, не так ли?

TIA

Ответы [ 4 ]

3 голосов
/ 09 июня 2012

Я разработал простой многоуровневый регистратор для моих сценариев оболочки, вы можете посмотреть на использование, вдохновение или что угодно.

1 голос
/ 09 июня 2010

Не совсем ясно, что ваша проблема связана с ведением журнала (похоже, ваша проблема заключается в захвате текста в журнал, для которого Гленн Джекман умело предложил решение), но на всякий случай вы можете знатькоманда logger, встречающаяся в большинстве систем Unix - она ​​предоставляет сценариям оболочки возможность записывать системный журнал.У него разные уровни и приоритеты и все.Очень удобно.

1 голос
/ 08 июня 2010

Возможно, вы хотите:

message=$( command 2>&1 )
log INFO "$message"
0 голосов
/ 08 июня 2010

В дополнение к $() вам необходимо использовать пробелы и точку с запятой в фигурных скобках (если они вам даже нужны):

{ command; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...