【发布时间】:2017-07-20 02:22:51
【问题描述】:
我正在使用 exec 库从 node js express 调用 R-script。以下是我的代码:
var exec = require("child_process").exec;
var param1 = some url;
var param2 = "hello";
var param3 = "world"
exec('Rscript pathtoscript/myScript.R"+" "+param1+" "+param2 , function(error, stdout, stderr) {
if (error) {
console.log(error);
res.send(error);
}
else if (stderr) {
console.log(stderr);
res.send(stderr);
}
else if (stdout) {
console.log("RAN SUCCESSFULLY");
res.json(stdout);
}
});
在上面的代码中,如果我只传递 param2 和 param3,r 脚本能够识别它。但是当我传递 url 时,只有部分 url 被识别为 URL 而其余部分不是(可能很长)。请建议。谢谢
【问题讨论】:
-
您需要提供更多上下文。网址是什么?网址是encoded 吗?你的 R 脚本的相关部分呢?您的命令可能格式错误。您是否尝试过
console.logexec方法的命令参数?它是否完全按照打印的方式从命令行运行?
标签: javascript r node.js exec child-process