Записать вывод команды в файл журнала - PullRequest
0 голосов
/ 17 июня 2019

У меня есть функции в файле "среды" для вывода даты и командных выходов моих сценариев, например:

LogWrite ()
{
    print `date "+%Y%m%d %H%M%S"` ${1} >> $FILE_LOG
}

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

list="$(ps -eo pid,lstart,cmd | grep -i crack  | grep -v grep)"
...........
LogWrite $list

Это всегда показывает мне только первое поле ps (например, 234324).

1 Ответ

0 голосов
/ 17 июня 2019

LogWrite печатает только свой первый аргумент.Одно из возможных исправлений:

LogWrite() {
    printf "%s: " "$(date '+%Y%m%d %H%M%S')"
    echo "${@}"
} >> $FILE_LOG

Другая возможность - поместить список в первый аргумент, что достигается простым цитированием аргумента при вызове LogWrite:

LogWrite "$list"
...