Я использую этот метод для передачи команды в виде строки. Но я не хочу просто выводить его на console.log. Например, когда кто-то вызывает commandLine ('aplay -L'), вывод, который будет отображаться в командной строке, должен быть возвращен как переменная или ответ JSON. Самым обратным вызовом является то, где находится stdout, но как вернуть его переменной?Как сохранить вывод командной строки в переменной в node.js?
commandLine = function(command, callback) {
var exec = require('child_process').exec;
exec(command, function (err, stdout, stderr) {
if (err && err.length > 1) {
console.log("failed to find playback or record devices");
callback(error("InternalError", "No input or output devices found", 500));
return;
}else{
callback(stdout); //returns cmd line output
}
});
};
Это все равно приводит к тому, что вывод отправляется на console.log (данные). Мне нужна функция callLineLine ('ping', function (err, data) {...}, чтобы возвращать результат в виде строки или иметь локальную переменную, хранящую значение данных. Наличие в console.log isn ' что мне нужно вообще. спасибо – John
Когда вы получаете некоторые данные, вы можете назначить их любой локальной переменной. Важно то, как вы отправляете данные с помощью обратного вызова. Я обновлю полный пример. – user3151330