如何把这个命令放在一个Makefile中?
我想要在Makefile
执行以下命令,但是我不知道如何执行。 这个命令是docker rmi -f $(docker images | grep "<none>" | awk "{print \$3}")
在$(..)
之间执行的命令应该产生input到docker rmi
输出,但是这不是在Makefile
工作的我认为这是因为$
在Makefile
特别使用,但我不知道如何修改命令以适应在那里。
有任何想法吗?
Makefiles中的$
需要加倍以防止被make
replace:
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,而所有反斜杠都会影响可读性。