我想在我的makefile中使用bash时间变量,例如在终端中可以这样做并且它能够工作:
MY_TIME=$SECONDS
echo $MY_TIME
但是当我在我的 makefile 中写这个时它不起作用。我该如何在我的 makefile 中使用这两行?
这是我正在做的事情。
.PHONY: myProg
myProg:
MY_TIME=$SECONDS
echo $MY_TIME
在Etan Reisner的回答之后
现在我有这个
.PHONY: myProg
myProg:
MY_TIME= date; echo $MY_TIME
但是我的echo结果是一个空行,看起来它并没有存储日期
bash
作为shell(而不是默认的/bin/sh
),它可能会在recipe中工作。 - Etan ReisnerMY_TIME= date
运行了date
命令,并使用名为MY_TIME
的环境变量来存储一个空字符串。你需要使用MY_TIME=$(date)
来将date
命令的输出捕获到MY_TIME
变量中。 - Etan Reisner