将日期和时间附加到Linux makefile中的环境变量中

问题描述 投票:21回答:3

在我的Makefile中,我想使用当前日期和时间创建一个环境变量。伪代码:

LOG_FILE := $LOG_PATH + $SYSTEM_DATE + $SYSTEM_TIME

感谢任何帮助-谢谢。

makefile environment-variables
3个回答
22
投票

您可以使用此:

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

注意(摘自评论):

它将使LOGFILE在每次使用时进行评估。为了避免这种情况:

LOGFILE=$(LOGPATH)$(shell date)

35
投票

您需要在make中使用$(shell operation)命令。如果使用operation,则每次都会对shell命令进行评估。如果要写入日志文件,则不希望每次使用单个make命令访问该日志文件时都更改其名称。

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

1
投票

您可以使用“日期”命令

© www.soinside.com 2019 - 2024. All rights reserved.