网站首页 > 技术文章 正文
#node.js 调用 shell 脚本
现在能见到的有很多很多种方法
今天和大家分享的是 shelljs
shelljs 安装
npm install shelljs --save
shelljs 使用 exec 方法
var shell = require("shelljs");
// exec 方法
shell.exec("echo hello world!");
shelljs 使用全局模式
require('shelljs/global');
mkdir('-p', '/var/log');
cp('-R', '/var/log/*', '/home/zhangzhi/logs/');
cd('/home/zhangzhi/logs');
在shelljs 使用下,第一种方式必须使用 exec 方法,通过把 shell 脚本以参数形式传递给 exec 方法来运行即可.在全局模式下,可以直接在 node.js 代码中书写 shell 脚本,比如上面的 mkdir ,cp ,cd 等等.
调用 shelljs 时如何输出标准流
var child = exec('ls', {async:true});
child.stdout.on('data', function(data) {
/* ... do something with data ... */
这里可以拦截标准输出流
});
调用 shelljs 时如何输入标准流
在linux 系统下创建一个系统用户,并且修改密码 (涉及到输入2次密码)下面代码在 shelljs 全局模式下书写:
var userName='zhangzhi';
var password='pwd';
exec("adduser "+userName);
var child= exec("passwd " + userName,{async:true});
child.stdin.write(password+'\n'); //这里输入密码
child.stdin.write(password+'\n'); //这里输入确认密码
child.stdin.end();
出自: 一介布衣 http://yijiebuyi.com
猜你喜欢
- 2025-10-14 linux监控与日志配置脚本_linux监控目录执行脚本
- 2025-10-14 ELK运维之路(Elasticsearch7集群组建-7.1
- 2025-10-14 Node-RED教程200例_nodered视频教程
- 2025-10-14 Trino:一个开源分布式大数据SQL查询引擎
- 2025-10-14 低代码工具Node-Red入门指南_低代码软件开发平台
- 2025-10-14 js中进程和线程的了解?Node中进程之间是如何进行通信的?
- 2025-10-14 第三章、TS 的编译调试_tsc命令编译参数
- 2025-10-14 Redis集群更换节点IP后如何恢复集群并保留完整集群数据
- 2025-10-14 Prometheus部署+node_exporter采集数据
- 2025-10-14 如何利用Agent构建自动化数据采集模型
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (77)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)