在我的 Makefile 中,我需要测试当前目录是否是 SVN 存储库,如果不是,我想使用 Makefile 中的 $(error) 指令指示错误。
所以我打算使用 $(shell svn info .) 的返回值,但我不确定如何从 Makefile 中获取这个值。
注意:我不是试图在配方中获取返回值,而是在 Makefile 的中间。
现在我正在做这样的事情,这只是因为 stdout 在出错时是空白的:
SVN_INFO := $(shell svn info . 2> /dev/null)
ifeq ($(SVN_INFO),)
$(error "Not an SVN repo...")
endif
我仍然想知道是否可以在 Makefile 中获取返回值。
最佳答案
如何使用$?
回显最后一个命令的退出状态?
SVN_INFO := $(shell svn info . 2>/dev/null; echo $$?)
ifeq ($(SVN_INFO),1)
$(错误“不是 SVN 存储库...”)
万一
关于shell - 如何检查 shell 指令的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7394290/