详解用Node.js写一个简单的命令行工具


Posted in Javascript onMarch 01, 2018

本文介绍了用Node.js写一个简单的命令行工具,分享给大家,具体如下:

操作系统需要为Linux

1. 目标

  1. 在命令行输入自己写的命令,完成目标任务
  2. 命令行要求全局有效
  3. 命令行要求可以删除
  4. 命令行作用,生成一个文件,显示当前的日期

2. 代码部分

  1. 新建一个文件,命名为sherryFile
  2. 文件sherryFile的内容

介绍: 生成一个文件,文件内容为当前日期和创建者

#! /usr/bin/env node
console.log('command start');
const fs = require('fs');
let date = new Date().toLocaleDateString();
let data = date + '\n\t' + '——create By karuru';
fs.writeFile('./date.txt', data, 'utf8', (err) => {
  if (err) {
    console.log('sherryFile command wrong', err);
    return false;
  }
  console.log('writeFile success!!!!');
  console.log('command end');
});
  1. 给该文件赋予执行权限chmod 755 sherryFile
  2. 在该文件所在的文件路径下输入./sherryFile
  3. 如果输出以下内容,表示命令执行成功

command start
writeFile success!!!!
command end

在该文件目录下,会有一个新的date.txt文件生成,内容如下

2/28/2018
    create By karuru

将命令修改为全局有效

ln sherryFile /usr/local/bin/sherryFile

删除命令

rm /usr/local/bin/sherryFile

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用js小类库获取浏览器的高度和宽度信息
Jan 15 Javascript
javascript插入样式实现代码
Feb 22 Javascript
JS控制阿拉伯数字转为中文大写示例代码
Sep 04 Javascript
Canvas 制作动态进度加载水球详解及实例代码
Dec 09 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
Mar 13 Javascript
详解React开发中使用require.ensure()按需加载ES6组件
May 12 Javascript
浅谈ECMAScript6新特性之let、const
Aug 02 Javascript
ES6新增的math,Number方法
Aug 06 Javascript
浅谈Node.js爬虫之网页请求模块
Jan 11 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
Feb 13 jQuery
详解微信小程序中var、let、const用法与区别
Jan 11 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
Feb 10 Javascript
vue-prop父组件向子组件进行传值的方法
Mar 01 #Javascript
Node.js 利用cheerio制作简单的网页爬虫示例
Mar 01 #Javascript
vue父组件向子组件传递多个数据的实例
Mar 01 #Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
Mar 01 #Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
Mar 01 #Javascript
vue 实现类似淘宝星级评分的示例
Mar 01 #Javascript
vue-star评星组件开发实例
Mar 01 #Javascript
You might like
使用PHP维护文件系统
2006/10/09 PHP
php+mysqli实现将数据库中一张表信息打印到表格里的方法
2015/01/28 PHP
php使用MySQL保存session会话的方法
2015/06/26 PHP
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
深入分析PHP设计模式
2020/06/15 PHP
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
2007/03/06 Javascript
新浪刚打开页面出来的全屏广告代码
2007/04/02 Javascript
ext实现完整的登录代码
2008/08/08 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
javascript判断非数字的简单例子
2013/07/18 Javascript
javascript函数自动执行常用方法汇总
2016/03/28 Javascript
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
详解webpack+angular2开发环境搭建
2017/06/28 Javascript
Vue中v-for的数据分组实例
2018/03/07 Javascript
微信小程序实践之动态控制组件的显示/隐藏功能
2018/07/18 Javascript
vue+iview+less 实现换肤功能
2018/08/17 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
浅析Python中的多重继承
2015/04/28 Python
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
python 根据正则表达式提取指定的内容实例详解
2016/12/04 Python
将Python字符串生成PDF的实例代码详解
2019/05/17 Python
python requests证书问题解决
2019/09/05 Python
深入理解css中vertical-align属性
2017/04/18 HTML / CSS
HTML5是什么 HTML5是什么意思 HTML5简介
2012/10/26 HTML / CSS
英国高档时尚男装购物网站:MR PORTER
2016/08/09 全球购物
解释DataSet(ds) 和 ds as DataSet 的含义
2014/07/27 面试题
linux面试相关问题
2012/08/11 面试题
化学实验员岗位职责
2013/12/28 职场文书
个人存款证明书
2014/10/18 职场文书
学生检讨书范文
2014/10/30 职场文书
先进基层党组织材料
2014/12/25 职场文书
2015年秘书个人工作总结
2015/04/25 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python