Я пытаюсь запустить базовую команду cmd с дочерним процессом, я тестирую некоторые cli с помощью nodejs и не могу понять, почему я не получаю никакого вывода, вот простой пример:
const spawn = require('child_process').spawn
let child = spawn('cmd.exe',['/K'])
child.stdout.setEncoding('utf8');
child.stdout.on('data', (data) => {
console.log(data.toString())
});
child.stdin.write('heroku login\n');
Вывод должен быть:
heroku:
Enter your login credentials
Email :
что мне не хватает? Thx
Обновление:
Я играю с кодом и могу получить то, что хочу:
const spawn = require('child_process').spawn
let child = spawn('heroku',['login' ,'-i']);
child.stderr.on('data', function(data) {
child.stdin.write('email@hotmail.com');
});
После того, как stderr.on сработалМне нужно ввести адрес электронной почты, но после того, как я позвоню child.stdin.write('email@hotmail.com');
, я получаю сообщение об ошибке:
'sh' is not recognized as an internal or external command,
operable program or batch file.
Может кто-нибудь сообщить мне, что может быть причиной этой ошибки?