gpt4 book ai didi

javascript - exec() 命令未在标准输出中显示输出

转载 作者:行者123 更新时间:2023-12-03 03:43:03 25 4
gpt4 key购买 nike

我使用 exec 命令来通过安装 child_process Node 模块来理解它。下面是代码行。通过查看输出,可以看出我的 exec() 没有按预期工作。

exec.js

console.log('1')
var exec = require('child_process').exec;
console.log('2');
exec('node -v', function (error, stdout, stderr) {
console.log('stdout', +stdout);
console.log('stderr', +stderr);
if (error !== null) {
console.log('exec error: ', + error);
}
});

package.json

{
"name": "exec",
"version": "1.0.0",
"description": "",
"main": "exec.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"child_process": "^1.0.2"
}
}

运行命令node exec.js时,它显示以下输出

1
2
stdout NaN
stderr 0

最佳答案

在每个 console.log 函数调用中,每个变量名称前面都有一个 +。这尝试将变量的值转换为数字。删除第 5,6 和 8 行中的 +,代码应该按预期运行。

此外,在输出到标准错误时使用 console.error 是更好的做法。

console.log('1')
var exec = require('child_process').exec;
console.log('2');
exec('node -v', function (error, stdout, stderr) {
console.log('stdout', stdout);
console.error('stderr', stderr);
if (error !== null) {
console.log('exec error: ', error);
}
});

关于javascript - exec() 命令未在标准输出中显示输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45532054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com