2011-08-07 23 views
3

いくつかの結果を生成するために、たくさんのルビスクリプトを実行する必要があります。どちらの順序でも問題ありません。私はちょうどRuby file1.rb、Ruby file2.rb、Ruby file3.rb ...を1つずつ実行したくありません。1つのコマンドを実行し、複数のRubyファイルを実行する

すべてのファイルをグループ化してコマンドを1回だけ実行して、それらをすべて実行するスクリプトを作成できますか?

答えて

8

私はそれがルビースタイルとrake宝石を使用して行うだろう。

私は「rakefile.rb」という名前のファイルを作成し、これはそのコンテンツのようになります。

task :default do 
    FileList['file*.rb'].each { |file| ruby file } 
end 

その後、私は私のお気に入りのシェルでrakeを呼ぶだろうと私はそれを楽しんでいました。

ボーナス:マルチプラットフォームです。

1

runall.rbは含まれていたことがあります:

(1..3).each do |i| 
    `ruby file#{i}.rb` 
end 

ruby runall.rbを呼び出します。

ruby ruby1.rb; 
ruby ruby2.rb; 
etc. 

をそして

sh startruby.sh 

を実行し、それがすべて出せます:

あなたはこのようになりますshスクリプトと呼ばれるstartruby.shを作ることができ
0

は(この例では動作しません) rubyスクリプトを実行します。 Offcourseでは、forループなどでより高度にすることもできますが、これは最も簡単で簡単な方法です。

4

あなたが行うことができますbashを使用していて、実行したいすべてのルビーのファイルが現在のディレクトリにあると仮定すると:

for file in `ls ./*.rb`; do 
    ruby $file 
done 
関連する問題