详解用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 相关文章推荐
JavaScript中的History历史对象
Jan 16 Javascript
JS调试必备的5个debug技巧
Mar 07 Javascript
jQuery动画特效实例教程
Aug 29 Javascript
JavaScript中常见获取元素的方法汇总
Mar 04 Javascript
Javascript中作用域的详细介绍
Oct 06 Javascript
实现easyui的datagrid导出为excel的示例代码
Nov 10 Javascript
jQuery加载及解析XML文件的方法实例分析
Jan 22 Javascript
canvas滤镜效果实现代码
Feb 06 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
Apr 20 Javascript
详解ES6语法之可迭代协议和迭代器协议
Jan 13 Javascript
vue this.reload 方法 配置
Sep 12 Javascript
通过JS判断网页是否为手机打开
Oct 28 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
日本十大最佳动漫,全都是二次元的神级作品
2019/10/05 日漫
PHP file_exists问题杂谈
2012/05/07 PHP
PHP使用redis实现统计缓存mysql压力的方法
2015/11/14 PHP
Yii2 rbac权限控制之rule教程详解
2016/06/23 PHP
php封装的smarty类完整实例
2016/10/19 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
图片自动缩小 点击放大
2008/07/07 Javascript
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
2014/12/04 Javascript
mvc中form表单提交的三种方式(推荐)
2016/08/10 Javascript
纯js实现html转pdf的简单实例(推荐)
2017/02/16 Javascript
Vue-cropper 图片裁剪的基本原理及思路讲解
2018/04/17 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
2019/06/13 Javascript
JavaScript隐式类型转换代码实例
2020/05/29 Javascript
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
Python黑帽编程 3.4 跨越VLAN详解
2016/09/28 Python
Python 字符串与数字输出方法
2018/07/16 Python
python抓取搜狗微信公众号文章
2019/04/01 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
Python+appium框架原生代码实现App自动化测试详解
2020/03/06 Python
Hotels.com中国区:好订网
2016/08/18 全球购物
优瑞自动咖啡机官网:Jura
2018/09/29 全球购物
德国综合购物网站:OTTO
2018/11/13 全球购物
JAVA招聘远程笔试题
2015/07/23 面试题
出国考察邀请函
2014/01/21 职场文书
职业培训师职业生涯规划
2014/02/18 职场文书
学习普通话的体会
2014/11/07 职场文书
建筑安全员岗位职责
2015/02/15 职场文书
保留意见审计报告
2015/06/05 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技
超越Nginx的Web服务器caddy优雅用法
2022/06/21 Servers
Python中np.random.randint()参数详解及用法实例
2022/09/23 Python