无法使用ruby执行cmd命令

时间:2015-05-04 21:48:58

标签: ruby svn cmd

我想在windows cmd中执行svn命令。它应该由ruby代码启动。 这是我的代码。

svn = `svn log -r 120:125 %svn_repo%`
puts svn

这里,svn_repo是一个windows环境变量。我跑的时候会收到以下错误 代码:

svn: E155007: 'C:\Code\Ruby\%svn_repo%' is not a working copy

错误是什么,如何解决?

当我直接在cmd中执行它时,同样的命令有效。

2 个答案:

答案 0 :(得分:3)

您可以使用ENV访问您的环境变量。

所以这应该有效:

svn = `svn log -r 120:125 %s` % ENV['svn_repo']
puts svn

您可以使用替代方案:

svn = `svn log -r 120:125 #{ENV['svn_repo']}`

答案 1 :(得分:2)

假设svn_repo是一个局部变量,请尝试

svn = `svn log -r 120:125 #{svn_repo}`
puts svn