【问题标题】:Is there a way to tell GHC to dump all warnings to a file?有没有办法告诉 GHC 将所有警告转储到文件中?
【发布时间】:2019-05-09 19:04:54
【问题描述】:

到目前为止,我已经尝试了以下方法:

me@pc:~/code$ ghc file.hs -Wall | tee warnings.log
me@pc:~/code$ ghc file.hs -Wall > warnings.log

但是ghc 只是像平常一样打印警告,并且只传递非警告步骤。

有没有办法做到这一点?

【问题讨论】:

  • 它将它们打印到stderr,因此您可以使用ghc file.hs -Wall 2>warnings.log 重定向它们。
  • 我知道它已经解决了,但这可能应该用 bash 或 linux 标记 ;)
  • 如果是这样,您可以自己编辑问题,但感谢您的通知!
  • @schuelermine 信誉低于 2,000 的用户无法编辑其他用户的问题。
  • @FabianSchneider 我添加了它们

标签: linux bash haskell command-line ghc


【解决方案1】:

它仍然显示这些警告的原因是因为警告和错误打印在标准错误通道(stderr)上。

因此,您可以通过重定向 stderr 将错误重定向到文件:

ghc file.hs -Wall <b>2&gt;</b> warnings.log

注意<b>2</b>&gt; 中的2。如前所述,warningsexceptions 都会打印到此频道。

我们可以将错误流重定向到bash中的tee

ghc -Wall file.hs <b>2&gt; &gt;(tee warnings.log)</b>

此功能适用于bash,但据我所知,这在 POSIX 标准中没有定义。对于bash,这可行,但对于sh,这似乎失败了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    • 1970-01-01
    • 2011-02-06
    • 2015-12-25
    • 2011-06-25
    • 2015-01-07
    相关资源
    最近更新 更多