使用child_process.exec在Electron App中运行Bash-Script

时间:2017-11-11 13:54:05

标签: node.js bash electron child-process

我正在努力在main.html中运行bash脚本。

 const exec = require("child_process").exec;

 // Execute bash script
 exec("/c/workspace/_edu_zone/Proxy_Manager/filemover.sh", shellCallback);

 // Callback
 function shellCallback(error, stdout, stderr) {
    console.log(error, stdout)
 }

我总是收到错误:没有这样的文件或目录。我究竟做错了什么? 任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:0)

更改

/c/workspace/_edu_zone/Proxy_Manager/filemover.sh

c:/workspace/_edu_zone/Proxy_Manager/filemover.sh

您可以尝试使用node-powershell直接执行命令

const shell = require('node-powershell')

let ps = new shell({
    executionPolicy: 'Bypass',
    noProfile: true
});

function lunchnode() {
    process.stdout.write('logging');
    ps.addCommand('node run.js')
    ps.invoke()
   .then(function (output) {
       process.stdout.write(output)
   }).catch(function (err) {
       process.stdout.write(err)
       ps.dispose()
   })   
}