Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 将命令执行结果设置为Makefile中的变量_Linux_Amazon Web Services_Unix_Makefile_Aws Cli - Fatal编程技术网

Linux 将命令执行结果设置为Makefile中的变量

Linux 将命令执行结果设置为Makefile中的变量,linux,amazon-web-services,unix,makefile,aws-cli,Linux,Amazon Web Services,Unix,Makefile,Aws Cli,我的makefile是为bashshell设置的。如何将命令执行的结果分配给变量并在Makefile中打印该值 我想将AWS cli命令执行的输出分配给Makefile中的一个变量。您可以使用make命令来执行此操作。一个简单的例子: 生成文件: 演示: $makeall 我们现在知道日期是2019年11月18日星期一11:53:13 GMT! 谢谢,不能在目标中定义变量吗?测试声明不能在all中移动吗?在目标中运行的任何东西都在由Makel设置的子shell中运行。因此,这些将仅在仅针对该目标

我的makefile是为bashshell设置的。如何将命令执行的结果分配给变量并在Makefile中打印该值

我想将AWS cli命令执行的输出分配给Makefile中的一个变量。您可以使用make命令来执行此操作。一个简单的例子:

生成文件: 演示:
$makeall
我们现在知道日期是2019年11月18日星期一11:53:13 GMT!

谢谢,不能在目标中定义变量吗?测试声明不能在all中移动吗?在目标中运行的任何东西都在由Makel设置的子shell中运行。因此,这些将仅在仅针对该目标激活的shell环境中设置环境变量,这意味着一旦该shell关闭,它们将丢失。这是相当微妙的,不应该与Make本身中的变量相混淆!一个可能的“解决方法”是在目标中递归调用make(
$(make)TEST=“$(shell)”
),但这非常难看,并且可能会在递归make问题上打开一个新的蠕虫罐-取决于您的设置。谢谢,这很有帮助!
TEST := $(shell date)
.PHONY: all
all:
        @echo "We now know the date is ${TEST}!"