# Error messages from bash aren't captured by ruby interpreter

**URL:** <https://www.ruby-forum.com/t/error-messages-from-bash-arent-captured-by-ruby-interpreter/192994>\
**Category:** Ruby\
**Created:** [August 9, 2010, 7:32pm UTC](https://www.ruby-forum.com/t/error-messages-from-bash-arent-captured-by-ruby-interpreter/192994 "2010-08-09T19:32:37Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![steux](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d26b3c/32.png) [@steux](https://www.ruby-forum.com/u/steux)\
**Post date:** [August 9, 2010, 7:32pm UTC](https://www.ruby-forum.com/t/error-messages-from-bash-arent-captured-by-ruby-interpreter/192994/1 "2010-08-09T19:32:37Z")

</div>

Hi everyone,  
How can I write a ruby script in order to capture error messagens from  
bash commands?

if I do this:  
out = `rm /var/mail/teste2`

Errors like “rm: cannot remove `/var/mail/teste2’: No such file or  
directory” won’t be stored in “out” string.

How can I do that?

regards

---

<div class="post-metadata">

**Author:** ![steux](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d26b3c/32.png) [@steux](https://www.ruby-forum.com/u/steux)\
**Post date:** [August 9, 2010, 8:06pm UTC](https://www.ruby-forum.com/t/error-messages-from-bash-arent-captured-by-ruby-interpreter/192994/2 "2010-08-09T20:06:20Z")

</div>

Bruno S. wrote:

> out = `rm /var/mail/teste2`
> 
> Errors like “rm: cannot remove `/var/mail/teste2’: No such file or  
> directory” won’t be stored in “out” string.
> 
> How can I do that?

out = `rm /var/mail/teste2 2>&1`

Otherwise look at open3 in the stdlib, if you want to get stdout and  
stderr separately.

---

<div class="post-metadata">

**Author:** ![steux](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d26b3c/32.png) [@steux](https://www.ruby-forum.com/u/steux)\
**Post date:** [August 9, 2010, 10:00pm UTC](https://www.ruby-forum.com/t/error-messages-from-bash-arent-captured-by-ruby-interpreter/192994/3 "2010-08-09T22:00:38Z")

</div>

Brian C. wrote:

> Bruno S. wrote:
> 
> > out = `rm /var/mail/teste2`
> > 
> > Errors like “rm: cannot remove `/var/mail/teste2’: No such file or  
> > directory” won’t be stored in “out” string.
> > 
> > How can I do that?
> 
> out = `rm /var/mail/teste2 2>&1`
> 
> Otherwise look at open3 in the stdlib, if you want to get stdout and  
> stderr separately.

Thanks!
