const child = child_process.execSync('python -c print(1234)', {shell:'bash.exe', encoding:'utf8'});
console.log(child);
我在Windows上运行Node,但我想使用WSL在Ubuntu上运行命令。当我尝试上面的代码时,我收到一个错误:/bin/bash: /d: No such file or directory
。这是因为Node在Windows中运行,因此它尝试使用python -c print(1234)
开关在子进程中运行/d /c
。在Child Process文档中,我引用了shell要求:
shell应该了解UNIX上的
-c
开关或/d
/s
/c
上的开关 视窗。在Windows上,命令行解析应该与 ' cmd.exe的'
有没有办法设置哪个交换机节点将用于在exec()
,execSync()
中运行命令?或者也许是一种傻瓜"节点认为我在运行Linux?