如何把这个命令放在一个Makefile中?

我想要在Makefile执行以下命令,但是我不知道如何执行。 这个命令是docker rmi -f $(docker images | grep "<none>" | awk "{print \$3}")

$(..)之间执行的命令应该产生input到docker rmi输出,但是这不是在Makefile工作的我认为这是因为$Makefile特别使用,但我不知道如何修改命令以适应在那里。

有任何想法吗?

Makefiles中的$需要加倍以防止被makereplace:

 docker rmi -f $$(docker images | grep "<none>" | awk "{print \$$3}") 

另外,在awk命令中使用单引号的string可以更简单,以防止shell扩展$3

 docker rmi -f $$(docker images | grep "<none>" | awk '{print $$3}') 

我真的推荐后者。 在单引号中使用awk代码通常会更好,因为它往往包含许多$ s,而所有反斜杠都会影响可读性。