【发布时间】:2013-10-07 00:30:49
【问题描述】:
这行得通:
system("ruby #{File.dirname(__FILE__) + '/Test')}")
但是这个
`ruby #{File.dirname(__FILE__) + '/Test'}`
不运行脚本测试
还有这个:
system("ruby #{File.dirname(__FILE__) + '/Test #{arg}'")
不采用 arg 值。
我做错了什么?
【问题讨论】:
-
在您使用的 shell 中,反引号是什么意思。你没有指出外壳。 (第二行)。变量“arg”的值是多少?
-
ruby-doc.org/core-2.0.0/Kernel.html#method-i-60。我正在尝试通过 ruby 文件运行 unix 命令。
arg是我将通过命令行传递的一个词。system("echo #{arg}")给出了正确的 arg 值。 -
为清楚起见并减少出错的可能性,请将路径分配给变量,然后使用该变量在字符串中进行插值。不要在插值中进行计算;这太疯狂了。
-
你说“行不通”对我们没有好处。您必须具体,否则,对于您提出的每一个模棱两可的问题,我们的答案都必须不那么具体,否则我们不得不浪费时间试图弄清楚到底发生了什么。
标签: ruby linux unix system command-line-arguments