【问题标题】:make output redirection进行输出重定向
【发布时间】:2011-08-19 09:53:46
【问题描述】:

我想将make命令的输出和错误流重定向到文件。

以下命令

make 1>&2 ~/tmp/build.log

抛出以下错误

make: Nothing to be done for `/Users/m/tmp/build.log'.

编辑:-

试过了

make 2>&1 ~/tmp/build.log

make ~/tmp/build.log 2>&1

它给出了与上述相同的错误消息。

我正在使用 mac-leopard 操作系统

$ bash --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)
Copyright (C) 2007 Free Software Foundation, Inc.
Tietos-iMac-2:qt-build ptools$ sh --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)
Copyright (C) 2007 Free Software Foundation, Inc.

【问题讨论】:

    标签: linux bash


    【解决方案1】:

    应该是

    make 2>&1 > ~/tmp/build.log
    

    【讨论】:

    • @arnaud576875: 很好的收获(愚蠢的 ```````` 填充要求,嗯)
    • @Talespin_Kit:你能说得更具体点吗?现在说了什么?您能告诉我们您使用的是什么外壳吗?
    • @sehe:使用 bash shell $ echo $0 -bash。我已经编辑了问题以添加有关 bash 版本的信息。请看问题。我最初认为您提供的解决方案有效,但我发现终端上打印了警告消息。我认为错误流没有重定向到文件。
    • 这太令人惊讶了。您可能会查看明确重定向到 /dev/tty 的(子)makefile,例如我现在没有任何其他线索
    • 我在mac上编译qt源码。我使用了命令 find 。 -name Makefile -exec grep '/dev/tty' {} \; 查找任何包含字符串 '/dev/tty' 但搜索没有返回的 Makefile。
    猜你喜欢
    • 1970-01-01
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    相关资源
    最近更新 更多