我必須運行一大堆ruby腳本才能生成一些結果。順序無關緊要。我只是不想做一個一個的Ruby file1.rb,Ruby file2.rb,Ruby file3.rb ...。發出一個命令並運行多個Ruby文件
我可以編寫一個將所有文件組合在一起的腳本,並只發出一次命令來運行它們?
我必須運行一大堆ruby腳本才能生成一些結果。順序無關緊要。我只是不想做一個一個的Ruby file1.rb,Ruby file2.rb,Ruby file3.rb ...。發出一個命令並運行多個Ruby文件
我可以編寫一個將所有文件組合在一起的腳本,並只發出一次命令來運行它們?
我會做Ruby的風格,並使用rake
寶石。
我會創建一個名爲「rakefile.rb」的文件,這將是它的內容:
task :default do
FileList['file*.rb'].each { |file| ruby file }
end
然後我會叫rake
在我最喜歡的外殼,我會喜歡它。
獎金:這是多平臺。
有runall.rb
包含:
(1..3).each do |i|
`ruby file#{i}.rb`
end
,並呼籲ruby runall.rb
。
你可以做一個sh腳本稱爲startruby.sh看起來像這樣(這個例子不工作):
ruby ruby1.rb;
ruby ruby2.rb;
etc.
然後運行
sh startruby.sh
它將勞克所有紅寶石劇本一個接一個。 Offcourse您還可以通過for循環等方式使它更先進,但這是最簡單/最快捷的方式。
假設你正在使用bash,所有你想運行Ruby文件是在當前目錄下,你可以這樣做:
for file in `ls ./*.rb`; do
ruby $file
done