node 怎么调用shell,可以做一个web shell吗?

想做一个后台,页面里有个按钮,点这个按钮,就能执行规定好的shell脚本,然后能在页面打印控制台的信息!麻烦了解的告知需要那些东西或相关资料(自己用,简单点就可以了),谢谢了

阅读 4.4k
1 个回答
const EXEC = require('child_process').execSync;
const SPAWN = require('child_process').spawn;
const RL = require('readline');

使用这三个东东 + express,基本能能实现
比如:

var fnlist = ["1.bz2"];
var rl = RL.createInterface({
    input: SPAWN('bzcat', fnlist).stdout,
    output: process.stdout,
    terminal: false
});

然后你

rl.on('line', function(line){
    //我得到了shell的一行输出
}).on('close', function(){
    //shell完成啦
});

注意很多都是异步的,以及node进程本身的权限、安全问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题