18

我想在另一个目录中运行需要(或更容易)的多个命令,然后一旦它们完成,返回到以前的工作目录。

我正在设想类似于Fabric 的with cd(path):东西,例如:

cd('.git') do
   File.unlink('config')
end

在 Rake 中是否有这样做的内置方法,或者我应该编写一个接受块等的自定义方法?

4

1 回答 1

41

这只是内置Dir#chdir调用:

Dir.chdir('.git') do
  File.unlink('config')
end

文档摘录:

如果给定了一个块,则将新的当前目录的名称传递给它,并将该块作为当前目录执行。块退出时恢复原始工作目录。

于 2013-05-14T01:12:17.977 回答