当我使用cabal run
运行我的程序时,我总是在输出中得到一些额外的噪音。例如:
Resolving dependencies...
Build profile: -w ghc-9.4.4 -O1
In order, the following will be built (use -v for more details):
- output-test-0.1.0.0 (exe:output-test) (first run)
Configuring executable 'output-test' for output-test-0.1.0.0..
Preprocessing executable 'output-test' for output-test-0.1.0.0..
Building executable 'output-test' for output-test-0.1.0.0..
[1 of 1] Compiling Main ( app/Main.hs, /private/tmp/output-test/dist-newstyle/build/x86_64-osx/ghc-9.4.4/output-test-0.1.0.0/x/output-test/build/output-test/output-test-tmp/Main.o )
[2 of 2] Linking /private/tmp/output-test/dist-newstyle/build/x86_64-osx/ghc-9.4.4/output-test-0.1.0.0/x/output-test/build/output-test/output-test
或者最好是:
Up to date
通常这不是一个大问题,但现在我有一个可执行文件,它生成的输出我想保存到一个文件中,而不需要这些额外的文本。我该怎么做?我在文档中找不到--quiet
选项。
1条答案
按热度按时间9fkzdhlc1#
它曾经是there was no way,但现在一个简单的
-v0
就足够了。实际上,在我看来,
run
的三个默认值是不幸的:-v0
应该是默认的IMO1.目标选择器应该默认为
exe:
。(也许这些天是这样的。我没有跟上这个问题。)1.参数应该默认转到正在运行的可执行文件,而不是
cabal
。我已经在我的本地垃圾箱下面的脚本,以解决这些问题有一段时间了,随时窃取它。它将
exe:
添加到目标,除非可执行文件名中已经有:
,它将--
添加到目标,除非已经有一个--
;这两个转义影线允许您在特殊情况下更改新的默认值(例如,希望使用v2-run
和test:
选择器,或者因为您确实希望将选项传递给cabal
)。