【问题标题】:store exit code of grep in makefile variable将 grep 的退出代码存储在 makefile 变量中
【发布时间】:2016-03-07 04:49:20
【问题描述】:

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

RESULT = $(shell grep 查找)

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

【问题讨论】:

    标签: command-line terminal makefile


    【解决方案1】:

    你需要'grep'结果重定向到/dev/null,然后打印退出码:
    RESULT = $(shell grep find in >/dev/null 2>/dev/null; echo $$?)

    【讨论】:

    • &>/dev/null 是一个不推荐使用的非标准 bash 扩展,不要使用它
    【解决方案2】:

    可以使用RESULT = $(shell COMMAND; $$?),解释:

    您也可以使用FD redirection 摆脱COMMAND 的输出。

    【讨论】:

    • 我得到/bin/sh: 0: command not found,所以我只做$(shell COMMAND; echo $$?)
    猜你喜欢
    • 2023-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 2014-12-19
    • 2018-06-27
    相关资源
    最近更新 更多