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 に答える