我在makefile中有一个任务如下。
out.tar:
$(eval TMP := $(shell aws iam get-role --role-name test1))
@echo hi $(TMP)/hi.txt
命令aws iam get-role --role-name test1
返回A client error (ExpiredToken) occurred when calling the GetRole operation: The security token included in the request is expired
。
但我总是hi /hi.txt
。 $(TMP)是空的。有谁知道如何解决这个问题?
答案 0 :(得分:1)
将评论移至答案;
如果要在command substitution中捕获stderr
,则需要使用2>&1
将stderr重定向到stdout(通常是捕获的内容)
$(eval TMP := $(shell aws iam get-role --role-name test1 2>&1))