如何在nodeexec函数中将参数传递给bash命令



我想在节点js child_process.exec() 中使用params运行bash脚本

文档中是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'

(我没有写回调,因为我只询问命令参数)

使用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

你试过这样的东西吗?

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);
    }
});

这样,您就可以发现错误或获得正确的输出。)

相关内容

  • 没有找到相关文章

最新更新