【发布时间】:2020-07-21 10:57:38
【问题描述】:
我处于一种我想做的事情是目标返回错误的情况。我的代码是:
pre-submit:
cp test.csv test.csv.bk
make test.csv
make lint
rm test.csv.bk
这运行得很好。但在某些情况下,make lint 或 make test.csv 会出现错误,在这种情况下,我想删除 test.csv(如果有)并将 test.csv.bk 重命名为 test.csv
我找不到我们是否可以捕获 target
引发的错误编辑:lint 看起来像这样:
.PHONY: lint
lint: | env
./env/bin/python lint.py
【问题讨论】:
-
shell 脚本可以很容易地检查每个
make退出状态和有条件的 rm/mv 文件;用运行该脚本替换一些/所有配方行 -
你永远不应该使用原始的
make来运行子制作。始终使用$(MAKE)(或${MAKE},如果您愿意,它们是相同的)。 -
make lint是什么样的?有一种强烈的感觉,这是一个更好的解决方案,正在努力摆脱...... :-) -
它调用一个python文件进行csv文件验证。