【发布时间】:2012-06-15 06:30:09
【问题描述】:
在编译过程中,屏幕上会抛出许多错误。要开始解决它们,我需要向上滚动 3、4 页。我试着对他们进行正面攻击,但他们仍然出现在终端上。
g++ -std=c++0x testCoverDownloader.cpp -I /usr/include/QtCore/ -I /usr/include/QtGui 2>&1 | head
我怎样才能先看到最上面的错误然后向下滚动页面?上面的代码剪切输出以显示前 10 行。我想要的是所有错误,但从一开始就不需要向上滚动
【问题讨论】:
-
如果你使用 vim,你可以试试
<your compile statement> 2>&1 | vim -那应该将 STDERR 和 STDOUT 传送到 vim 以供查看。 -
或
<your compile statement> 2>&1 | more。 (在迈克尔评论的帮助下) -
@Michael 评论的重要部分是重定向部分:来自编译器的错误放在
stderr上。要将其传送到head、more或less之类的查看器,甚至vim之类的编辑器,您需要将stderr重定向到stdout。这就是&2>1(或更准确地说是2>&1)所做的。有关重定向的更多信息,请参阅 shell 的手册页。