在我的Makefile中,我想使用當前的日期和時間創建一個環境變量。僞代碼:將日期和時間附加到linux makefile中的環境變量
LOG_FILE := $LOG_PATH + $SYSTEM_DATE + $SYSTEM_TIME
任何幫助表示讚賞 - 謝謝。
在我的Makefile中,我想使用當前的日期和時間創建一個環境變量。僞代碼:將日期和時間附加到linux makefile中的環境變量
LOG_FILE := $LOG_PATH + $SYSTEM_DATE + $SYSTEM_TIME
任何幫助表示讚賞 - 謝謝。
您可以使用此:
LOGFILE=$(LOGPATH) `date +'%y.%m.%d %H:%M:%S'`
可以用 「date」 命令
你需要化妝用$(殼操作)命令。如果您使用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
但是這不會在不同的目標上保持不變。 –
這會不會導致LOGFILE被evaulated每次使用它。 例如: LOGFILE =日誌/'日期+'%Y%米%D-%H:%M:%S'' echo_logs: 回聲$(LOGFILE) 睡眠5S 回波$ ($ LOGFILE) 將打印: 回波日誌/'日期+'%Y%米%D-%H:%M:%S'' 日誌/ 10.01.28-14:21:08 睡眠5s 回聲記錄/'日期+'%y。%m。%d-%H:%M:%S'' logs/10.01.28-14:21:13 – Aaron
@Aaron:You are;爲避免這種情況,可以使用gnu make'shell'函數代替反引號:'LOGFILE = $(LOGPATH)$(shell date)' – catwalk
同意和完整性:LOGFILE = $(LOGPATH)$(shell date +'%Y 。%M%D-%H:%M:%S')。也適用於Solaris。 – anisbet