1

我正在尝试一次创建多个目录。目前,sftp.mkdir! path一次只创建一个目录级别。例如,我可以创建/test,然后必须创建另一个目录/test/secure_token等等。有没有一种方法可以/test/secure_token在一次调用而不是两次调用中创建?

4

1 回答 1

-1

我运行以下 ruby​​ 脚本,其中主机、用户名和密码作为命令行参数传递:

require 'net/sftp'

Net::SFTP.start(host, username, password: password) do |sftp|
  sftp.mkdir!("/home/#{username}/test/test2")
end

并且能够在远程主机上成功创建多级目录。

rubydoc 没有提到#mkdir!无法创建多级目录,它甚至给出了一个示例参数为“/path/to/directory”

https://www.rubydoc.info/github/net-ssh/net-sftp/Net%2FSFTP%2FSession:mkdir!

如果您只是传递您尝试创建的目录的整个路径,您应该不会遇到麻烦,所以这可能是您的远程主机的一个奇怪的怪癖?很难说没有额外的信息。

于 2020-10-16T20:44:30.013 回答