Ruby for Object-Oriented Shell Scripts
Matz brilliantly included backticks (`) in Ruby as a low-profile way to integrate system commands into a Ruby script. This means that Ruby can be used to create powerful object-oriented shell scripts. Now you never have to write a batch file or bash script again!
Below is an example that queries Slashdot for its top 3 headlines every hour. Note the cool Ruby string substitution on the "count" parameter.
class Slashdot
def headlines(count)
`lynx -source "http://slashdot.org" | grep "</A>: " | sed "s#.*</A>: \\(.*\\)</B>.*#\\1#" | head --lines=#{count}`
end
end
while true
puts Slashdot.new.headlines(3)
`sleep 1h`
end
Below is an example that queries Slashdot for its top 3 headlines every hour. Note the cool Ruby string substitution on the "count" parameter.
class Slashdot
def headlines(count)
`lynx -source "http://slashdot.org" | grep "</A>: " | sed "s#.*</A>: \\(.*\\)</B>.*#\\1#" | head --lines=#{count}`
end
end
while true
puts Slashdot.new.headlines(3)
`sleep 1h`
end
2 Comments:
Wrapping shell scripts in Objects does not make it any more OO, than wrapping binary data in two xml-tags makes it well-structured sematic data. ;)
By Anonymous, at 2/20/2005 11:10 a.m.
You gotta admit though that it's more fun to write a Ruby script that a bash script.
By Jonathan, at 2/20/2005 12:33 p.m.
Post a Comment
<< Home