详解用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操作ACCESS数据库(读增改删)的代码
May 14 Javascript
网页禁用右键实现代码(JavaScript代码)
Oct 29 Javascript
设置iframe的document.designMode后仅Firefox中其body.innerHTML为br
Feb 27 Javascript
jQuery Ajax提交表单查询获得数据实例代码
Sep 19 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
Apr 20 Javascript
分享我的jquery实现下拉菜单心的
Nov 29 Javascript
js+css3制作时钟特效
Oct 16 Javascript
EasyUI学习之Combobox级联下拉列表(2)
Dec 29 Javascript
vux uploader 图片上传组件的安装使用方法
May 15 Javascript
微信小程序实现分享到朋友圈功能
Jul 19 Javascript
Vue-input框checkbox强制刷新问题
Apr 18 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
Apr 11 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进行MySQL删除记录操作代码
2008/06/07 PHP
destoon文章模块调用企业会员资料的方法
2014/08/22 PHP
PHP程序员常见的40个陋习,你中了几个?
2014/11/20 PHP
Laravel+jQuery实现AJAX分页效果
2016/09/14 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
PHP实现按之字形顺序打印二叉树的方法
2018/01/16 PHP
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
javascript 获取iframe里页面中元素值的方法
2014/02/17 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
jquery仿QQ登录账号选择下拉框效果
2016/03/22 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
js仿微信语音播放实现思路
2016/12/12 Javascript
jquery实现一个全局计时器(商城可用)
2017/06/30 jQuery
Vue.js实现网格列表布局转换方法
2017/08/25 Javascript
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
2018/09/01 Javascript
JS实现返回上一页并刷新页面的方法分析
2019/07/16 Javascript
ES6基础之数组和对象的拓展实例详解
2019/08/22 Javascript
vue 数据双向绑定的实现方法
2021/03/04 Vue.js
[06:50]DSPL次级职业联赛十强晋级之路
2014/11/18 DOTA
python 中的列表解析和生成表达式
2011/03/10 Python
Python实现文件按照日期命名的方法
2015/07/09 Python
Python的装饰器用法学习笔记
2016/06/24 Python
Python中异常重试的解决方案详解
2017/05/05 Python
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
PyQt5创建一个新窗口的实例
2019/06/20 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
读取nii或nii.gz文件中的信息即输出图像操作
2020/07/01 Python
梅西酒窖:Macy’s Wine Cellar
2018/01/07 全球购物
《桂花雨》教学反思
2014/04/12 职场文书
党的群众路线教育实践活动个人整改落实情况汇报
2014/10/28 职场文书
工资证明格式模板
2015/06/12 职场文书
高中运动会前导词
2015/07/20 职场文书
我的生日感言
2015/08/03 职场文书
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记