详解用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 弹出的窗口返回值给父窗口具体实现
Nov 23 Javascript
jquery中获取元素里某一特定子元素的代码
Dec 02 Javascript
javascript获取当前鼠标坐标的方法
Jan 10 Javascript
跟我学习javascript的函数和函数表达式
Nov 16 Javascript
基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)
Feb 22 Javascript
基于jQuery实现仿百度首页选项卡切换效果
May 29 Javascript
JS获取鼠标相对位置的方法
Sep 20 Javascript
javascript实现文字无缝滚动效果
Aug 26 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
Nov 30 Javascript
使用JavaScript生成罗马字符的实例代码
Jun 08 Javascript
vue.js通过路由实现经典的三栏布局实例代码
Jul 08 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
Jun 17 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模拟HTTP认证
2006/10/09 PHP
54个提高PHP程序运行效率的方法
2015/07/19 PHP
Yii2.0预定义的别名功能小结
2016/07/04 PHP
PHP读取Excel类文件
2017/05/15 PHP
Joomla框架实现字符串截取的方法示例
2017/07/18 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
2019/12/03 PHP
让人蛋疼的JavaScript语法特性
2014/09/30 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
2017/01/15 Javascript
详解VUE中v-bind的基本用法
2017/07/13 Javascript
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
JS 仿支付宝input文本输入框放大组件的实例
2017/11/14 Javascript
详解vue-meta如何让你更优雅的管理头部标签
2018/01/18 Javascript
Node.js利用console输出日志文件的方法示例
2018/04/27 Javascript
Django+Vue实现WebSocket连接的示例代码
2019/05/28 Javascript
Element-UI 使用el-row 分栏布局的教程
2020/10/26 Javascript
Vue SPA 首屏优化方案
2021/02/26 Vue.js
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
2018/02/07 Python
python如何定义带参数的装饰器
2018/03/20 Python
Python的多维空数组赋值方法
2018/04/13 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
2019/07/23 Python
关于ResNeXt网络的pytorch实现
2020/01/14 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
LN-CC日本:高端男装和女装的奢侈时尚目的地
2019/09/01 全球购物
高校十八大报告感想
2014/01/27 职场文书
银行职员个人的工作自我评价
2014/02/15 职场文书
大学优秀班集体申报材料
2014/05/23 职场文书
专项资金申请报告
2015/05/15 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
Nginx HTTP跳转至HTTPS
2022/05/15 Servers