我正在尝试一次创建多个目录。目前,sftp.mkdir! path
一次只创建一个目录级别。例如,我可以创建/test
,然后必须创建另一个目录/test/secure_token
等等。有没有一种方法可以/test/secure_token
在一次调用而不是两次调用中创建?
问问题
216 次
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 回答