1

我正在尝试运行一项jruby -S rake db:migrate操作。

这会导致一个错误,该错误超出了我的 bash 终端所包含的行数,因此我看不到最相关的行,并且我遇到了大约 1000 行:

....
org/jruby/runtime/Block.java:89:in `call'
org/jruby/RubyProc.java:261:in `call'
org/jruby/RubyProc.java:249:in `call19'
org/jruby/RubyProc$INVOKER$i$0$0$call19.gen:-1:in `call'
org/jruby/internal/runtime/methods/DynamicMethod.java:216:in `call'
org/jruby/internal/runtime/methods/DynamicMethod.java:212:in `call'
org/jruby/runtime/callsite/CachingCallSite.java:202:in `call'
org/jruby/ast/CallTwoArgNode.java:59:in `interpret'
....

我试过jruby -S rake db:migrate > migrate.out了,但错误消息仍然出现在我的终端上,内容migrate.out

==  ChangeFieldsOnFoo: migrating ========================================
-- remove_column(:foos, :bar)

当然必须有一种方法可以阅读此错误消息!

4

2 回答 2

1

使用stderr( 2) 到stdout( 1)2>&1|通过“寻呼机”将输出( ) 连接到 ( ),less以便将其保留在屏幕上,直到您完成它:

jruby -S rake db:migrate 2>&1 | less
于 2012-12-14T08:34:34.887 回答
0

试试这个:jruby -S rake db:migrate >> migrate.out 2>&1 这将重定向stdoutstderr一个文件。

于 2012-12-14T08:34:35.573 回答