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

发布于 2024-08-13 16:35:59 字数 147 浏览 4 评论 0原文

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

LOG_FILE := $LOG_PATH + $SYSTEM_DATE + $SYSTEM_TIME

任何帮助表示赞赏 - 谢谢。

In my Makefile I want to create an environment variable using the current date and time. Pseudo code:

LOG_FILE := $LOG_PATH + $SYSTEM_DATE + $SYSTEM_TIME

Any help appreciated - thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

枉心 2024-08-20 16:35:59

需要在make中使用$(shell操作)命令。如果您使用操作,则每次都会对 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

You need to use the $(shell operation) command in make. If you use operation, then the shell command will get evaluated every time. If you are writing to a log file, you don't want the log file name to change every time you access it in a single make command.

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

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

This will output:

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
心房敞 2024-08-20 16:35:59

你可以使用这个:

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

注意(来自注释):

它会导致每次使用时都会对 LOGFILE 进行评估。
为了避免这种情况:

LOGFILE=$(LOGPATH)$(shell date)

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)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文