Добавьте дату и время к переменной среды в make-файле Linux

C - Это не является самым коротким, но это без рекурсий. Это также не портативно: это отказывает на Солярисе, но некоторый alloca () реализации мог бы возвратить ошибку сюда (или назвать malloc ()). Вызов к printf () необходим.

#include <stdio.h>
#include <alloca.h>
#include <sys/resource.h>
int main(int argc, char *argv[]) {
    struct rlimit rl = {0};
    getrlimit(RLIMIT_STACK, &rl);
    (void) alloca(rl.rlim_cur);
    printf("Goodbye, world\n");
    return 0;
}
21
задан Jonatas Walker 28 November 2015 в 14:38
поделиться

3 ответа

you can use this:

LOGFILE=$(LOGPATH) `date +'%y.%m.%d %H:%M:%S'`

NOTE (from comments):

it will cause LOGFILE to be evaluated every time while used. to avoid that:

LOGFILE=$(LOGPATH)$(shell date)
22
ответ дан 29 November 2019 в 06:42
поделиться

you can use "date" command

1
ответ дан 29 November 2019 в 06:42
поделиться

Вам необходимо использовать команду $ (Shell Raction) в Make. Если вы используете работу , то команда оболочки будет оцениваться каждый раз. Если вы пишете в файл журнала, вы не хотите, чтобы имя файла журнала меняется каждый раз, когда вы получаете доступ к нему в одном команде Cправьте.

LOGPATH = logs
LOGFILE = $(LOGPATH)/$(shell date --iso=seconds)

test_logfile:
    echo $(LOGFILE)
    sleep 2s
    echo $(LOGFILE)

Это выводится:

echo logs/2010-01-28T14:29:14-0800
logs/2010-01-28T14:29:14-0800
sleep 2s
echo logs/2010-01-28T14:29:14-0800
logs/2010-01-28T14:29:14-0800
35
ответ дан 29 November 2019 в 06:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: