这就是我正在做的事情:
cmd = "echo foo\n echo bar"
out = `#{cmd}`
在 Linux 中我有“foo\nbar”。在 Windows 中我有“foo”。这是为什么?如何修复?
最佳答案
看起来 cmd.exe
会读取直到换行符 (\n
) 并忽略剩余部分。
您可以使用 &&
来组合命令:
cmd = "echo foo && echo bar"
out = `#{cmd}`
# => "foo \nbar\n"
关于Windows 中的 Ruby 多行反引号执行不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34453971/