gpt4 book ai didi

shell - 如何检查 shell 指令的返回值

转载 作者:行者123 更新时间:2023-12-03 10:33:39 27 4
gpt4 key购买 nike

在我的 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com