[英]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()
})
您可以使用以下代碼使用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.