# Test for OS name from inside ruby script

**URL:** <https://www.ruby-forum.com/t/test-for-os-name-from-inside-ruby-script/182138>\
**Category:** Ruby\
**Created:** [January 23, 2010, 7:56am UTC](https://www.ruby-forum.com/t/test-for-os-name-from-inside-ruby-script/182138 "2010-01-23T07:56:56Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![dale8458](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/b487fb/32.png) [@dale8458](https://www.ruby-forum.com/u/dale8458)\
**Post date:** [January 23, 2010, 7:56am UTC](https://www.ruby-forum.com/t/test-for-os-name-from-inside-ruby-script/182138/1 "2010-01-23T07:56:56Z")

</div>

How do I test in my scripts for the OS type? So I can conditionally run  
different code…?

thanks

---

<div class="post-metadata">

**Author:** ![dale8458](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/b487fb/32.png) [@dale8458](https://www.ruby-forum.com/u/dale8458)\
**Post date:** [January 23, 2010, 8:10am UTC](https://www.ruby-forum.com/t/test-for-os-name-from-inside-ruby-script/182138/2 "2010-01-23T08:10:03Z")

</div>

On Sat, Jan 23, 2010 at 1:56 AM, Dale A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> How do I test in my scripts for the OS type? So I can conditionally run  
> different code…?

A quick google search led to this:  
[http://snippets.dzone.com/posts/show/6238](http://snippets.dzone.com/posts/show/6238) I imagine using RUBY\_PLATFORM  
in  
some manner is a good solution.

---

<div class="post-metadata">

**Author:** ![dale8458](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/b487fb/32.png) [@dale8458](https://www.ruby-forum.com/u/dale8458)\
**Post date:** [January 23, 2010, 8:08am UTC](https://www.ruby-forum.com/t/test-for-os-name-from-inside-ruby-script/182138/3 "2010-01-23T08:08:52Z")

</div>

On 23.01.2010 07:56, Dale A. wrote:

> How do I test in my scripts for the OS type? So I can conditionally run  
> different code…?

It’s easiest with [GitHub - rdp/os: The OS gem allows for some easy telling if you’re on windows or not. OS.windows? as well as some other helper utilities](http://github.com/rdp/os)

---

<div class="post-metadata">

**Author:** ![dale8458](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/b487fb/32.png) [@dale8458](https://www.ruby-forum.com/u/dale8458)\
**Post date:** [January 24, 2010, 3:19am UTC](https://www.ruby-forum.com/t/test-for-os-name-from-inside-ruby-script/182138/4 "2010-01-24T03:19:19Z")

</div>

Jacob M. wrote:

> On Sat, Jan 23, 2010 at 1:56 AM, Dale A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> wrote:
> 
> > How do I test in my scripts for the OS type? So I can conditionally run  
> > different code…?
> 
> A quick google search led to this:  
> [http://snippets.dzone.com/posts/show/6238](http://snippets.dzone.com/posts/show/6238) I imagine using RUBY\_PLATFORM  
> in  
> some manner is a good solution.

Thanks I got it going. I am using ‘rbconfig’

---

<div class="post-metadata">

**Author:** ![dale8458](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/b487fb/32.png) [@dale8458](https://www.ruby-forum.com/u/dale8458)\
**Post date:** [January 24, 2010, 4:39pm UTC](https://www.ruby-forum.com/t/test-for-os-name-from-inside-ruby-script/182138/5 "2010-01-24T16:39:55Z")

</div>

On Jan 23, 12:09 am, Jacob M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> On Sat, Jan 23, 2010 at 1:56 AM, Dale A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > How do I test in my scripts for the OS type? So I can conditionally run  
> > different code…?
> 
> A quick google search led to this:[http://snippets.dzone.com/posts/show/6238](http://snippets.dzone.com/posts/show/6238) I imagine using RUBY\_PLATFORM in  
> some manner is a good solution.

No, do not use RUBY\_PLATFORM. JRuby will return “java”, for example:

If you want something built in use rbconfig.rb. Specifically,  
Config::CONFIG[‘host\_os’]. Or you can use a 3rd party gem like sys-  
uname or os.

Regards,

Dan
