我想在节点j child_process.exec()
在doc String The command to run, with space-separated arguments
中,但是
child.exec("cat path_to_file1 path_to_file2")
不起作用。它在内部更改为
/bin/sh -c cat path_to_file1 path_to_file2
失败了。我怎样才能正确运行?在shell中我会这样修复它
/bin/sh -c 'cat path_to_file1 path_to_file2'
(我没有写回调,因为我只询问命令参数)
答案 0 :(得分:0)
使用exec的shell选项:
child.exec("cat path_to_file1 path_to_file2", {
shell : '/bin/bash'
})
查看选项:https://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback
答案 1 :(得分:0)
你有没有试过这样的东西?
var exec = require('child_process').exec;
var child;
child = exec("cat '/route/to/file_a' '/route/to/file_b'", function (error, stdout, stderr) {
console.log(stdout);
console.log(stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});
这样你可以找到错误或获得正确的输出。 ;)