首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用消息退出Makefile错误

使用消息退出Makefile错误
EN

Stack Overflow用户
提问于 2017-05-19 04:42:51
回答 2查看 15.2K关注 0票数 8

当错误发生时,有没有方法输出错误消息?让我们详细介绍一下,我想知道一个文件内容是否等于另一个文件,或者not.If不等于,make应该退出并输出一个错误消息。

代码语言:javascript
运行
复制
test:
    cmp --silent tmp/test.txt tmp/test_de.txt ||    (error DecryptFile is different from original)

tmp/test.txt不等于tmp/test_de.txt时,输出是:

代码语言:javascript
运行
复制
cmp --silent tmp/test.txt tmp/test_de.txt | (error DecryptFile is different from original)
/bin/sh: 1: error: not found
makefile:38: recipe for target 'test' failed
make: *** [test] Error 127

/bin/sh: 1:错误:未找到

结果不是我想要的结果,我只想像这样的错误信息:

代码语言:javascript
运行
复制
makefile:38: *** missing separator. Stop.
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-19 05:05:42

您可以使用exit()可以包含多个命令:

代码语言:javascript
运行
复制
cmp --silent tmp/test.txt tmp/test_de.txt || (echo "DecryptFile is different from original"; exit 1)
票数 13
EN

Stack Overflow用户

发布于 2017-05-19 05:11:47

也许error指的是使内置错误函数,但是您应该编写$(error.),而不是只编写(error.),您不能那样使用它(在shell命令中)。因此,您确实应该使用echoexit作为托巴塔马斯回答。也许您可以将echo重定向到stderr (例如,echo message 2>&1echo message > /dev/stderr)

$(error.)内置可以(而且经常是)与GNU 条件词一起使用。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44061611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档