背景:我在 MRI 1.9.2p320 中编写了一个简短的脚本来更新我的所有项目 - http://git.io/eez8Kg。我用于更新/拉取自身的工具(git-up)也能够在发现更改的 Gemfile 后自动捆绑项目。问题是,当我在 Ruby 脚本中更改目录时,它不尊重项目的 rvmrc/gemset(每个项目都有自己的 gemset)。
问题:如何cd
在 Ruby 脚本中实现与终端中相同的行为
我试过了:
Dir.chdir
用`s中的cd命令替换- 替换
Dir.chdir
为 `s 中的 cd 命令zsh -ci
代码:
Find.find('../..') do |f|
if f =~ /\.git$/
repository = f.gsub /\.git$/, ''
Logger.new(STDOUT).info('Checking '){repository}
Dir.chdir(repository){
puts `git up`
}
end
end