icn*_*icn 54 ruby shell command
我知道如何在Ruby中运行shell命令,如:
%x[#{cmd}]
Run Code Online (Sandbox Code Playgroud)
但是,如何指定运行此命令的目录?
是否有类似于shell的方式,类似于subprocess.PopenPython:
subprocess.Popen(r'c:\mytool\tool.exe', cwd=r'd:\test\local')
Run Code Online (Sandbox Code Playgroud)
谢谢!
knu*_*nut 127
你可以使用块版本Dir.chdir.在块中,您位于请求的目录中,在阻止之后,您仍然在上一个目录中:
Dir.chdir('mydir'){
%x[#{cmd}]
}
Run Code Online (Sandbox Code Playgroud)
Abe*_*ker 12
Ruby 1.9.3(阻塞调用):
require 'open3'
Open3.popen3("pwd", :chdir=>"/") {|i,o,e,t|
p o.read.chomp #=> "/"
}
Dir.pwd #=> "/home/abe"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17459 次 |
| 最近记录: |