# Pass variables to arbitrary ruby script: ruby script.rb

**URL:** <https://www.ruby-forum.com/t/pass-variables-to-arbitrary-ruby-script-ruby-script-rb/171511>\
**Category:** Ruby\
**Created:** [July 3, 2009, 8:07pm UTC](https://www.ruby-forum.com/t/pass-variables-to-arbitrary-ruby-script-ruby-script-rb/171511 "2009-07-03T20:07:23Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![mgiorno](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e274bd/32.png) [@mgiorno](https://www.ruby-forum.com/u/mgiorno)\
**Post date:** [July 3, 2009, 8:07pm UTC](https://www.ruby-forum.com/t/pass-variables-to-arbitrary-ruby-script-ruby-script-rb/171511/1 "2009-07-03T20:07:23Z")

</div>

Does anyone know if there is a way to pass variables to a arbitrarily  
run script? I tried this with no luck.

ruby script.rb VARIABLE=value

Thanks!

---

<div class="post-metadata">

**Author:** ![mgiorno](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e274bd/32.png) [@mgiorno](https://www.ruby-forum.com/u/mgiorno)\
**Post date:** [July 3, 2009, 8:41pm UTC](https://www.ruby-forum.com/t/pass-variables-to-arbitrary-ruby-script-ruby-script-rb/171511/2 "2009-07-03T20:41:17Z")

</div>

Mario Gr [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Does anyone know if there is a way to pass variables to a arbitrarily  
> run script? I tried this with no luck.
> 
> ruby script.rb VARIABLE=value

man ruby

In particular, look at the documentation of the -s switch…

m.

---

<div class="post-metadata">

**Author:** ![mgiorno](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e274bd/32.png) [@mgiorno](https://www.ruby-forum.com/u/mgiorno)\
**Post date:** [July 3, 2009, 9:30pm UTC](https://www.ruby-forum.com/t/pass-variables-to-arbitrary-ruby-script-ruby-script-rb/171511/3 "2009-07-03T21:30:57Z")

</div>

On 03.07.2009 20:07, Mario Gr wrote:

> Does anyone know if there is a way to pass variables to a arbitrarily  
> run script? I tried this with no luck.
> 
> ruby script.rb VARIABLE=value

What variables exactly? Do you want to set shell variables? Du you  
want to propagate variables from one Ruby script to another?

Kind regards

robert

---

<div class="post-metadata">

**Author:** ![mgiorno](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e274bd/32.png) [@mgiorno](https://www.ruby-forum.com/u/mgiorno)\
**Post date:** [July 3, 2009, 11:13pm UTC](https://www.ruby-forum.com/t/pass-variables-to-arbitrary-ruby-script-ruby-script-rb/171511/4 "2009-07-03T23:13:40Z")

</div>

Mario Gr wrote:

> Does anyone know if there is a way to pass variables to a arbitrarily  
> run script? I tried this with no luck.
> 
> ruby script.rb VARIABLE=value

Option 1: parse ARGV directly. I think this is what rake does.

For example, to build a hash:

vars={}  
ARGV.each do |str|  
vars[$1]=$2 if str =~ /\A(._?)=(._)\z/  
end  
puts vars[‘VARIABLE’]

Or you could use eval to set local variables if that’s what you really  
want (but I would strongly recommend against this)

Option 2: pass variables in the environment.

env VARIABLE=value ruby script.rb

#!/usr/bin/ruby  
puts "You passed ", ENV[‘VARIABLE’]

HTH,

Brian.

---

<div class="post-metadata">

**Author:** ![mgiorno](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e274bd/32.png) [@mgiorno](https://www.ruby-forum.com/u/mgiorno)\
**Post date:** [July 4, 2009, 8:00am UTC](https://www.ruby-forum.com/t/pass-variables-to-arbitrary-ruby-script-ruby-script-rb/171511/5 "2009-07-04T08:00:24Z")

</div>

Thanks for all the help guys!
