如何在Makefile中使用lsof



假设我有类似的东西

.PHONY: kill-server
kill-server:
kill -9 $(lsof -t -i :9000)

为什么它不起作用,我该如何解决?

您可以在makefile:中通过管道将lsof传输到xargs

# Makefile - Version 1
# Send kill to server
kill-server:
lsof -t -i :9000| xargs kill -9

悲痛万分。太混乱了。

很简单:$制作起来很特别。它引入了make变量。如果您编写了一个配方(这是shell脚本(,并且希望shell看到$,则必须对其进行转义,这样make就不会将其扩展为make变量。这完全是微不足道的,只需在任何想将$传递给shell的地方编写$$

.PHONY: kill-server
kill-server:
kill -9 $$(lsof -t -i :9000)

就这样,完成了。

最新更新