我可以像这样在 node.js 中运行 bash 命令:
var sys = require('sys')
var exec = require('child_process').exec;
function puts(error, stdout, stderr) { sys.puts(stdout) }
exec("ls -la", function(err, stdout, stderr) {
console.log(stdout);
});
如何获取该命令的退出代码(在本例中为 ls -la
)?我试过跑步
exec("ls -la", function(err, stdout, stderr) {
exec("echo $?", function(err, stdout, stderr) {
console.log(stdout);
});
});
不管前一个命令的退出代码如何,这总是返回 0。我错过了什么?
原文由 Marc Bacvanski 发布,翻译遵循 CC BY-SA 4.0 许可协议
这两个命令在不同的 shell 中运行。
要获取代码,您应该能够在回调中检查
err.code
。如果这不起作用,您需要添加一个
exit
事件处理程序例如