我正在编写脚本,它必须在目录及其子文件夹中运行每个ruby脚本.
例如
run-all.rb - scripts - folder1 - script1.rb - script2.rb - folder2 - script3.rb - script4.rb
由于服务器是Windows服务器,我通常会使用批处理文件,但是头部开发人员坚持认为一切都必须在ruby中完成,因为有些成员有Mac并且可能不了解Windows批处理文件.
由于问题可能已经解决,我对Ruby的了解非常基础.
取决于"跑"的意思.要在同一个ruby进程中执行每个脚本中的代码,这将解决问题:
Dir["scripts/**/*.rb"].each{|s| load s }
但是你想在它自己的ruby进程中运行每个脚本,然后试试这个:
Dir["scripts/**/*.rb"].each{|s| puts `ruby #{s}` }
只需将其中任何一个放入命令行的内容中,run-all.rb
然后运行即可ruby run-all.rb
.