2011-03-24 2 views
7

는 :% x []가 ​​모든 출력을 catch합니까? 나는이 코드를 실행하면

svn_output = %x[svn update /Users/radek/Sites/db2.rft -r 11105 --force ] 
puts 
puts " output is =#{svn_output}=" 

을 나는이 결과

svn: Working copy '/Users/radek/Sites/db2.rft' locked 
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) 

output is == 

를 얻을 수 있지만 변수 svn_output 내부 svn을에서 오류 메시지를합니다. 그게 가능하니?

답변

11

당신은 표준 출력에 열려진 리디렉션 할 :

svn_output = %x[svn update /Users/radek/Sites/db2.rft -r 11105 --force 2>&1] 
puts 
puts " output is =#{svn_output}=" 
+0

을 당신에게 – Radek

+5

감사 또는 (http://www.ruby-doc.org/stdlib/libdoc/open3/rdoc를 [된 Open3]를 사용 정확히 :-) /index.html)에서'stdout'과'stderr'를 구별해야합니다. –

+0

당신은 저를 때려 눕 힙니다! – Gishu

관련 문제