详解用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 相关文章推荐
基于jquery的给文章加入关键字链接
Oct 26 Javascript
js精度溢出解决方案
Dec 02 Javascript
js遍历子节点子元素附属性及方法
Aug 19 Javascript
基于JavaScript实现表单密码的隐藏和显示出来
Mar 02 Javascript
使用JQuery中的trim()方法去掉前后空格
Sep 16 Javascript
AngularJS入门教程之表单校验用法示例
Nov 02 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
Oct 25 Javascript
浅谈node模块与npm包管理工具
Jan 03 Javascript
深入浅析Vue.js中 computed和methods不同机制
Mar 22 Javascript
vue基于v-charts封装双向条形图的实现代码
Dec 09 Javascript
Vue element-ui父组件控制子组件的表单校验操作
Jul 17 Javascript
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
Aug 05 Vue.js
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
fleaphp下不确定的多条件查询的巧妙解决方法
2008/09/11 PHP
用PHP调用Oracle存储过程的方法
2008/09/12 PHP
php设计模式 Interpreter(解释器模式)
2011/06/26 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
2014/11/04 PHP
Centos PHP 扩展Xchche的安装教程
2016/07/09 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
php中字符串和整数比较的操作方法
2019/06/06 PHP
Yii Framework框架使用PHPExcel组件的方法示例
2019/07/24 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
如何重写Laravel异常处理类详解
2020/12/20 PHP
两个select多选模式的选项相互移动(示例代码)
2014/01/11 Javascript
jquery获取复选框被选中的值
2014/03/22 Javascript
js如何判断用户是否是用微信浏览器
2014/06/05 Javascript
基于jquery animate操作css样式属性小结
2015/11/27 Javascript
AngularJS中处理多个promise的方式
2016/02/02 Javascript
Angular Module声明和获取重载实例代码
2016/09/14 Javascript
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
vue-cli3脚手架的配置及使用教程
2018/08/28 Javascript
Vue 自定义指令实现一键 Copy功能
2019/09/16 Javascript
vue实现节点增删改功能
2019/09/26 Javascript
有关Python的22个编程技巧
2018/08/29 Python
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
python 二维矩阵转三维矩阵示例
2019/11/30 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
2020/02/17 Python
本科生学习总结的自我评价
2013/10/02 职场文书
自动化专业个人求职信范文
2013/12/30 职场文书
2014小学教师个人工作总结
2014/11/10 职场文书
老公婚前保证书
2015/02/28 职场文书
婚庆司仪开场白
2015/05/29 职场文书
放牛班的春天观后感
2015/06/01 职场文书
合同补充协议书
2016/03/24 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书
大学学生会主席竞选稿怎么写?
2019/08/19 职场文书
Jupyter Notebook内使用argparse报错的解决方案
2021/06/03 Python
winserver2019安装软件一直卡在应用程序正在为首次使用做准备
2022/06/10 Servers