簡體   English   中英

如何從Atom electronic應用中調用Shell腳本或python腳本

[英]How to call Shell script or python script in from a Atom electron app

我正在嘗試使用Atom電子為Mac和Windows編寫一個桌面應用程序。

我需要的是:

一個按鈕。

當用戶單擊按鈕時,它將運行以下外殼程序(或python腳本):

ping x.x.x.x

結果將顯示在TextArea中。

我嘗試使用[shelljs]和[yargs],但似乎不適用於Atom電子。

我想要做的就是使用JAVASCRIPT編寫桌面應用程序(當然帶有GUI),該應用程序調用一些腳本(shell和&python)來完成一些自動化工作。

任何建議將不勝感激,謝謝:)

可以直接使用Node完成,也可以使用child_process模塊。 請注意,這是異步的。

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

function execute(command, callback) {
    exec(command, (error, stdout, stderr) => { 
        callback(stdout); 
    });
};

// call the function
execute('ping -c 4 0.0.0.0', (output) => {
    console.log(output);
});

我鼓勵您也看看npm ,有很多模塊可以幫助您完成所需的工作,而無需調用python腳本。

嘗試使用node-powershell npm。 您可以直接執行Shell腳本命令並顯示結果。

var shell = require('node-powershell')
var ps = new shell()
ps.addCommand('ping -c 4 0.0.0.0')
ps.invoke()
.then(function (output) {
    console.log(output)
})
.catch(function (err) {
    console.log(err)
    ps.dispose()
})

請參閱: https //www.npmjs.com/package/node-powershell

您可以使用以下代碼使用child_process來歸檔您要執行的操作

var exec = require('child_process').exec
function Callback(err, stdout, stderr) {
    if (err) {
        console.log(`exec error: ${err}`);
        return;
    }else{
        console.log(`${stdout}`);
    }
}

res = exec('ping xxx.xxx.xxx', Callback);

是否有執行系統Shell命令的跨平台功能?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM