加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Make:捕获shell命令的输出并同时返回代码

发布时间:2020-12-15 21:10:56 所属栏目:安全 来源:网络整理
导读:在make中,如果我想捕获 shell命令的输出,我会做这样的事情 RESULT:=$(shell $(COMMAND)) 如果我想检查命令是否正确执行,我会这样做 RETURN_CODE := $(shell $(COMMAND); echo $$?) 我怎么能同时做两个,即执行一次命令,存储输出,还检查返回码? 编辑 尽管他的
在make中,如果我想捕获 shell命令的输出,我会做这样的事情

RESULT:=$(shell $(COMMAND))

如果我想检查命令是否正确执行,我会这样做

RETURN_CODE := $(shell $(COMMAND); echo $$?)

我怎么能同时做两个,即执行一次命令,存储输出,还检查返回码?

编辑
尽管他的解决方案并不令人满
Makefile: Output and Exitcode to variable?

解决方法

关于什么

OUTPUT_WITH_RC := $(shell $(COMMAND); echo $$?)
RETURN_CODE := $(lastword $(OUTPUT_WITH_RC))
OUTPUT := $(subst $(RETURN_CODE)QQQQ,$(OUTPUT_WITH_RC)QQQQ)

如果你的命令失败,它可能会写入stderr;你可以用它来捕捉一切:

OUTPUT_WITH_RC := $(shell $(COMMAND) 2>$1; echo $$?)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读