Ruby run shell command in a specific directory

command, ruby, shell

Solution

You can use the block-version of `Dir.chdir`. Inside the block you are in the requested directory, after the Block you are still in the previous directory:

Dir.chdir('mydir'){
  %x[#{cmd}]
}

Problem

I know how to run a shell command in Ruby like: ``` %x[#{cmd}] ``` But, how do I specify a directory to run this command? Is there a similar way of shelling out, similar to `subprocess.Popen` in Python: ``` subprocess.Popen(r'c:\mytool\tool.exe', cwd=r'd:\test\local') ``` Thanks!

Original source