Ruby复制文件相关方法介绍

我们在学习Ruby语言的时候,可以知道,它是一款完全面向对象的解释型脚本语言。许多编程人员都将目光投向了它。在这里我们将会了解到Ruby复制文件的一些技巧。#t#

使用net::ssh 库, 可以得到其他机器之间的安全的shell连接, 在其他机器上启动一个cat进程, 并将向要复制的文件写入标准的输入中。

Ruby复制文件代码示例:

  1. require 'rubygems'   
  2. require 'net/ssh'   
  3.  
  4. def copy_file(session, source_path, 
    destination_path=nil)   
  5. destination_path ||= source_path   
  6. cmd = %{cat > "#{destination_path.
    gsub('"', '\"')}"}   
  7. session.process.popen3(cmd) do |i, o, e|   
  8. puts "   
  9. copying #{source_path} to #
    {destination_path}… "   
  10. open(source_path) { |f| i.write(f.read) }   
  11. puts 'done.'   
  12. end   
  13. end   
  14. net::ssh.start('example.com', 
    :username=>'leonardr',   
  15. :password=>'mypass') do |session|   
  16. copy_file(session, '/home/leonardr/
    scripts/test.rb')   
  17. copy_file(session, '/home/leonardr/
    scripts/"test".rb')   
  18. end   
  19. # copying /home/leonardr/scripts/test.
    rb to /home/leonardr/scripts/test.rb…   
  20. # done.   
  21. # copying /home/leonardr/scripts/"test".
    rb to /home/leonardr/scripts/"test".rb…   
  22. # done.  

以上就是Ruby复制文件的全部方法介绍。

THE END