1

如何像命令-cd一样进入目录,从而操作不带路径前缀的远程文件?

这是我当前的代码。

Net::SFTP.start do |sftp|
  sftp.rename!(REMOTE_PATH + "latest.zip", REMOTE_PATH + "latest.back.zip")
  sftp.upload!("latest.zip", REMOTE_PATH + "latest.zip")
end

我想拥有:

sftp.cd REMOTE_PATH    
sftp.rename!("latest.zip", "latest.back.zip")
sftp.upload!("latest.zip", "latest.zip")
4

1 回答 1

0

我找到了一个解决方案,改为使用 SSH 连接。. 不工作。SFTP 路径似乎与 SSH 路径无关。如果您有其他选择,请告诉我。

 Net::SSH.start("localhost", "user", "password") do |ssh|
    ssh.sftp.upload!("/local/file.tgz", "/remote/file.tgz")
    ssh.exec! "cd /some/path && tar xf /remote/file.tgz && rm /remote/file.tgz"
  end
于 2009-10-24T21:13:57.743 回答