それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Rubyでパイプを作る(atコマンドの例)

Rubyはパイプを作って、コマンドの標準入力になにか書き込むことが出来る

atコマンドになにか書き込む例。

IO.popen("at -q r '#{(Time.now+60).strftime("%H:%M %d.%m.%Y")}'","w"){|io| 
io.puts "#/bin/sh 
/etc/init.d/apache reload
"
;}

grep コマンドに書き込む例

IO.popen("grep test ","w"){|io| io.puts "this
is 
a 
test1
pip
command"
;}
#=> test1

便利ですね。


rubyで標準入力にデータを書き込んでいる。これが出来ると意外と便利なんですよ。
ruby出やると重い処理をC言語で書いたコードに任せたり。
その他のプログラムをパイプでつないで再利用出来る。

Linuxなら当たり前にできるんだけど。
意外とこういうのを手抜きできない正確なので苦労してた。ガッツリRuby言語で書いててなんか無駄な時間過ごしこと多いです。