Я нашел разницу в том, как моя node.js shell script работает в Windows vs Linux. У меня есть строка команд, которые выполняются синхронно с помощью библиотеки child_process.
var cmd = `echo 'hello'
echo 'Stack'
echo 'Overflow'`
var exec = require('child_process').execSync;
var options = {
encoding: 'utf8'
};
console.log(exec(cmd, options));
В Linux
Выполняет все 3 echo
операторы и выходы, как я ожидаю.
hello
Stack
Overflow
В Windows
В то время как в Windows я не знаю, выполняет ли она 3 раза или нет. Все, что я знаю, это то, что выводится только первая команда echo
.
hello
Почему я вижу эту разницу, и могу ли я исправить ее так, что Windows script выводит аналогично тому, как это делается в Linux?