2012-12-14 4 views
1

jruby -S rake db:migrate 작업을 실행하려고합니다.bash에서 오류 메시지 읽기

.... 
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' 
.... 

:의

이 내 bash는 터미널이 보유 행의 수를 초과하는 오류, 결과, 그래서 가장 관련성이 줄을 볼 수없고, 내가 함께 붙어있어 ~ 1000 선 나는 jruby -S rake db:migrate > migrate.out 시도했지만 오류 메시지는 여전히 내 터미널에 나타나 migrate.out의 내용은 확실히이 오류 메시지를 읽을 수있는 방법이 있어야합니다

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

입니다!

+0

'bash'는 * 터미널이 아닌 [* shell *] (http://stackoverflow.com/tags/shell/info)입니다. 귀하의 [* 터미널 *] (http://stackoverflow.com/tags/terminal/info)은 무엇입니까? – Johnsyweb

답변

2

타이 stderr (2) 당신이 그것으로 완료 될 때까지 화면에 계속 2>&1 및 파이프 (|) 등 less는 "호출기"를 통해 출력을 사용 stdout (1)에 :

jruby -S rake db:migrate 2>&1 | less 
+2

친절하고 자세한 답변입니다. 더 나은 방법으로 파일에 접근하는 방법을 설명했지만 파일에 기록하는 방법 만 설명했습니다. 네가 나를 1 초 동안 이길 것 같은데. 건배! –

1

시험해보기 : jruby -S rake db:migrate >> migrate.out 2>&1stdoutstderr을 하나의 파일로 리디렉션합니다.