使用Ruby FileUtils而不是Bash命令的好处?

时间:2010-09-11 02:01:41

标签: ruby bash

使用FileUtils方法http://ruby-doc.org/core/classes/FileUtils.html比使用等效的Bash命令有什么好处?

6 个答案:

答案 0 :(得分:7)

除此之外,您不必担心确保您的目标平台具有您正在使用的特定工具,并且除了正确引用shell奇怪的问题之外(如果您定位的话,尤其有问题) Windows和Unix相似 - 尽管Cygwin,GNUWin32等等,如果你使用Ruby的FileUtils,你有一个适当大小的Ruby函数调用开销,而如果你使用外部实用程序,你有相当大的开销外部过程每一次“呼叫”。

答案 1 :(得分:6)

FileUtils方法适用于Windows。

答案 2 :(得分:2)

它们更容易从Ruby脚本内部调用,因为它们接受Ruby对象作为参数。这意味着您不必处理转义,也不必每次都调用它们。

答案 3 :(得分:1)

当你将东西移植到shell时,你正在添加对这些应用程序的依赖。 FileUtils是纯粹的ruby,因此它可以在ruby工作的任何地方工作(并且或多或少地工作)。

答案 4 :(得分:1)

  • 跨多个平台工作
  • 不会产生新进程来发出命令(因此它消耗的资源更少)

答案 5 :(得分:-2)

我不会说使用Ruby的FileUtils没有任何好处,因为你可以在任何有Ruby的地方使用它们(特别是如果你的任务是在web开发中)。但这并不意味着您也不能在其他平台上使用这些shell工具。是的,您可以在* nix shell中编写脚本,并且您可以在使用cygwin或GNU win32(以及其他)的Windows中进行很少或不进行修改的情况下运行它们。 就Ruby的FileUtils对shell的好处而言,它只是最小的,因为你可以用FileUtils做的,你也可以用shell做。