【发布时间】:2013-05-14 01:06:26
【问题描述】:
我想在另一个目录中运行多个需要(或者更容易)的命令,然后在完成后返回上一个工作目录。
我正在设想类似于Fabric's with cd(path): 的东西,例如:
cd('.git') do
File.unlink('config')
end
在 Rake 中是否有这样做的内置方法,或者我应该编写一个接受块等的自定义方法?
【问题讨论】:
-
这种模式不是线程安全的。
我想在另一个目录中运行多个需要(或者更容易)的命令,然后在完成后返回上一个工作目录。
我正在设想类似于Fabric's with cd(path): 的东西,例如:
cd('.git') do
File.unlink('config')
end
在 Rake 中是否有这样做的内置方法,或者我应该编写一个接受块等的自定义方法?
【问题讨论】:
这只是内置的Dir#chdir 调用:
Dir.chdir('.git') do
File.unlink('config')
end
摘自docs:
如果给出了一个块,则传递新的当前目录的名称,并且该块 以它作为当前目录执行。原来的工作 块退出时恢复目录。
【讨论】: