Ruby復(fù)制文件相關(guān)方法介紹
作者:佚名
我們希望大家可以通過本文介紹的這段代碼示例,能夠充分的掌握Ruby復(fù)制文件這一技巧,并從另一角度深入了解Ruby語言。
我們?cè)趯W(xué)習(xí)Ruby語言的時(shí)候,可以知道,它是一款完全面向?qū)ο蟮慕忉屝湍_本語言。許多編程人員都將目光投向了它。在這里我們將會(huì)了解到Ruby復(fù)制文件的一些技巧。#t#
使用net::ssh 庫, 可以得到其他機(jī)器之間的安全的shell連接, 在其他機(jī)器上啟動(dòng)一個(gè)cat進(jìn)程, 并將向要復(fù)制的文件寫入標(biāo)準(zhǔn)的輸入中。
Ruby復(fù)制文件代碼示例:
- require 'rubygems'
- require 'net/ssh'
- def copy_file(session, source_path,
destination_path=nil) - destination_path ||= source_path
- cmd = %{cat > "#{destination_path.
gsub('"', '\"')}"} - session.process.popen3(cmd) do |i, o, e|
- puts "
- copying #{source_path} to #
{destination_path}… " - open(source_path) { |f| i.write(f.read) }
- puts 'done.'
- end
- end
- net::ssh.start('example.com',
:username=>'leonardr', - :password=>'mypass') do |session|
- copy_file(session, '/home/leonardr/
scripts/test.rb') - copy_file(session, '/home/leonardr/
scripts/"test".rb') - end
- # copying /home/leonardr/scripts/test.
rb to /home/leonardr/scripts/test.rb… - # done.
- # copying /home/leonardr/scripts/"test".
rb to /home/leonardr/scripts/"test".rb… - # done.
以上就是Ruby復(fù)制文件的全部方法介紹。
責(zé)任編輯:曹凱
來源:
zanjiaonline.cn