代码之家  ›  专栏  ›  技术社区  ›  ng5000

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

  •  17
  • ng5000  · 技术社区  · 16 年前

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

    LOG_FILE := $LOG_PATH + $SYSTEM_DATE + $SYSTEM_TIME
    

    3 回复  |  直到 10 年前
        1
  •  33
  •   lucemia    6 年前

    您可以使用以下选项:

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

    它将导致每次使用时都对日志文件进行评估。

    LOGFILE=$(LOGPATH)$(shell date)
    
        2
  •  41
  •   Aaron    16 年前

    您需要在make中使用$(shell操作)命令。如果你使用 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
    
        3
  •  1
  •   Himanshu    16 年前

    您可以使用“日期”命令