shell ライブラリというツールがある。覚えにくい時はこれを使う
require 'shell' sh = Shell.new sh.ls "/" sh.transact{ cat "/etc/resolv.conf" mkdir "/tmp/test-1" cat"/etc/resov.conf" > STDOUT }
Shell使うと、rubyと通常シェルの区別が限りなく見えなくなってくる。
2012/02/17追記
なんか書いてから3ヶ月後にブクマされまくってる。
transactは正しくはこう
sh.transact{system("ls", "-l") | head > STDOUT}
最新版のRubyだと動かなかった。僕が書いたのサンプルは間違ってる。
sh.transact{ cat"/etc/resov.conf" > STDOUT }
のようなことは、()省略の規制と順番の関係できないみたい。もったいないよねぇ。1.9の変更だとこの方向の進化が完全に打ち消されちゃう・・ね。1.9好きになれないなぁ。