2013-05-14 35 views
13

我想在另一個目錄中運行多個命令(或更容易),然後一旦完成,返回到上一個工作目錄。暫時在Rake中更改當前目錄

我預想類似Fabric's with cd(path):的東西,例如:

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

是否有耙這樣做的內置的方式,或者我應該寫一個接受塊等自定義方法?

回答

31

這只不過是內置的Dir#chdir電話:

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

摘自docs

如果塊給出,它是通過新的當前目錄的名稱,以及該塊以當前目錄執行 。原始工作 目錄在塊退出時恢復。