无法使用 ruby 执行 cmd 命令

cannot execute cmd command with ruby

我想在 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中直接执行就可以了

假设svn_repo是局部变量,尝试

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

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

所以这应该有效:

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

您可以使用的替代方法:

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