Command line 在makefile变量中存储grep的退出代码

Command line 在makefile变量中存储grep的退出代码,command-line,terminal,makefile,Command Line,Terminal,Makefile,我正在使用makefile中的shell函数执行grep搜索: 结果=$(shell grep find in) 我可以只存储退出代码而不是存储grep的结果吗?或者,检查结果是否为非空的方法?您可以使用RESULT=$(shell命令;$$?),说明: COMMAND是要检查退出代码的命令(grep find in来自您的示例) 分隔任意两个命令 make将$?解析为$?,并将其传递给shell,并且: 您还可以使用删除命令的输出。您需要将“grep”结果重定向到/dev/null,然

我正在使用makefile中的shell函数执行grep搜索:

结果=$(shell grep find in)


我可以只存储退出代码而不是存储grep的结果吗?或者,检查结果是否为非空的方法?

您可以使用
RESULT=$(shell命令;$$?)
,说明:

  • COMMAND
    是要检查退出代码的命令(
    grep find in
    来自您的示例)
  • 分隔任意两个命令
  • make
    $?
    解析为
    $?
    ,并将其传递给shell,并且:


您还可以使用删除
命令的输出。

您需要将“grep”结果重定向到/dev/null,然后打印退出代码:

RESULT=$(shell grep find in>/dev/null 2>/dev/null;echo$$?)
&>/dev/null
是一个非标准的已弃用的
bash
扩展,不要使用itI get
/bin/sh:0:command not found
,所以我只需执行
$(shell命令;echo$?)