我没有从FileUtils命令看到任何返回值。

我想做类似的事情:

really=(gets.chomp=="y")
if really
  success = FileUtils.rm_rf "./PROJECT_#{@name}" #does not work
end
puts "./PROJECT_#{@name} deleted" if success

我阅读了FileUtils的documentation,也阅读了“Getting executed command from ruby FileUtils”,但是我不知道如何使用答案。

最佳答案

根据文档(http://ruby-doc.org/stdlib-1.9.3/libdoc/fileutils/rdoc/FileUtils.html#method-c-rm_rf),对#rm_rf的调用不会回显与其正在执行的任务相关的任何内容。 #rm_rf实际上使用选项:force => true调用#rm_r。使用此选项,该方法可以忽略StandardError异常(该异常随后将向您传达有关该操作或其不起作用的某些信息)。现在,回到失败的原因。正如有人已经评论过的那样,尝试使用选项:secure => true。有关此的更多信息:http://ruby-doc.org/stdlib-1.9.3/libdoc/fileutils/rdoc/FileUtils.html#method-c-remove_entry_secure。这可能是权限问题。

关于ruby - 如何知道FileUtils命令是否成功?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14504251/

10-13 02:10