我发现node.js shell脚本在Windows和Linux中的工作方式有所不同。我有一系列使用child_process库同步执行的命令。Nodejs shell脚本在Linux中正常工作,但在Windows中无法正常工作。为什么它不会执行多个命令
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脚本输出相似,它在Linux上的方式吗?
只是出于好奇,当你将'cmd'改为'var cmd ='echo'hello'&& echo'Stack'&& echo'Overflow'“'会发生什么? – pudility
不确定tbh。当我回到我的电脑(在我的手机上)时,我可以试试它 – Cameron
那太棒了!我会尝试,但我目前没有可以轻松访问的Windows计算机。 – pudility