https://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback 有这样的例子,
const exec = require('child_process').exec;
const child = exec('cat *.js bad_file | wc -l',
(error, stdout, stderr) => {
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
if (error !== null) {
console.log(`exec error: ${error}`);
}
});
在exec()中的shell命令中有一个管道,我的问题是,在" cat"之后调用回调。完成或之后" wc"完成?
这种情况会发生什么:
const child = exec('cat *.js; ls -l', callback);
谢谢!
答案 0 :(得分:0)
我在Javascript中运行了一个示例,exec()
作为任何带回调的函数;如果在回调被触发之前没有错误,则执行所有操作。
以JSON文件为例:
[
{
"test" : {
"test1" : 1,
"test2" : 2,
"test3" : "this is a string"
}
}
]
代码:
const exec = require('child_process').exec;
const child = exec('cat json.json | wc -l',
(error, stdout, stderr) => {
console.log('stdout:', stdout);
if (error !== null) {
console.log('exec error: ', error);
}
}
);
输出:
stdout: 9