详解用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资料prototype 属性
Mar 13 Javascript
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
Oct 11 Javascript
JavaScript 面向对象编程(1) 基础
May 18 Javascript
JS中 用户登录系统的解决办法
Apr 15 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
Sep 18 Javascript
JavaScript实现复制内容到粘贴板代码
Mar 31 Javascript
Javascript生成带参数的二维码示例
Oct 10 Javascript
JavaScript下拉菜单功能实例代码
Mar 01 Javascript
Node.js中 __dirname 的使用介绍
Jun 19 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
Apr 07 Javascript
node.js实现上传文件功能
Jul 15 Javascript
一篇文章带你从零快速上手Rollup
Sep 07 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获取当前文件所在目录 getcwd()函数
2009/05/13 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
2015/04/20 PHP
php中this关键字用法分析
2016/12/07 PHP
ThinkPHP中create()方法自动验证实例
2017/04/26 PHP
js控制框架刷新
2008/08/01 Javascript
页面中js执行顺序
2009/11/09 Javascript
Jquery实现图片预加载与延时加载的方法
2014/12/22 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
第二章之Bootstrap 页面排版样式
2016/04/25 Javascript
一个仿微博登陆邮箱提示框js开发案例
2016/07/28 Javascript
原生js实现新闻列表展开/收起全文功能
2017/01/20 Javascript
canvas时钟效果
2017/02/16 Javascript
完美实现js选项卡切换效果(二)
2017/03/08 Javascript
利用JavaScript缓存远程窃取Wi-Fi密码的思路详解
2018/11/05 Javascript
微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能
2019/07/20 Javascript
[59:44]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 paiN vs iG
2018/03/31 DOTA
Python简单的制作图片验证码实例
2017/05/31 Python
python学习基础之循环import及import过程
2018/04/22 Python
Redis使用watch完成秒杀抢购功能的代码
2018/05/07 Python
PyQt5 在label显示的图片中绘制矩形的方法
2019/06/17 Python
python 含子图的gif生成时内存溢出的方法
2019/07/07 Python
Python matplotlib以日期为x轴作图代码实例
2019/11/22 Python
解决Python3下map函数的显示问题
2019/12/04 Python
Django+python服务器部署与环境部署教程详解
2020/03/30 Python
pycharm如何设置官方中文(如何汉化)
2020/12/29 Python
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
课改先进个人汇报材料
2014/01/26 职场文书
五年后的职业生涯规划
2014/03/04 职场文书
留学顾问岗位职责
2014/04/14 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
离婚起诉书范本
2015/05/18 职场文书
汤姆叔叔的小屋读书笔记
2015/06/30 职场文书
初中语文教学随笔
2015/08/15 职场文书
少先队大队委竞选口号
2015/12/25 职场文书
python 如何用map()函数创建多线程任务
2021/04/07 Python
mybatis中sql语句CDATA标签的用法说明
2021/06/30 Java/Android