详解用Node.js写一个简单的命令行工具
本文介绍了用Node.js写一个简单的命令行工具,分享给大家,具体如下:
操作系统需要为Linux
1. 目标
- 在命令行输入自己写的命令,完成目标任务
- 命令行要求全局有效
- 命令行要求可以删除
- 命令行作用,生成一个文件,显示当前的日期
2. 代码部分
- 新建一个文件,命名为sherryFile
- 文件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'); });
- 给该文件赋予执行权限chmod 755 sherryFile
- 在该文件所在的文件路径下输入./sherryFile
- 如果输出以下内容,表示命令执行成功
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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
您可能感兴趣的文章:
- 利用node.js制作命令行工具方法教程(一)
- Node.js 使用命令行工具检查更新
- 详解Node.js 命令行程序开发教程
- Node.js利用Net模块实现多人命令行聊天室的方法
相关推荐
-
Node.js利用Net模块实现多人命令行聊天室的方法
这篇文章介绍的是Node.js利用Net模块实现命令行式的多人聊天室,下面话不多说,来看看详细的介绍吧. 1.net模块基本API 要使用Node.js的net模块实现一个命令行聊天室,就必须先了解NET模块的API使用.NET模块API分为两大类: Server和Socket类.工厂方法. Server类如下图所示: net.Server类可以用来创建一个TCP或本地服务器,继承了EventEmitter. Socket类如下: net.Socket类一般用创建一个socket客户端或者是ne
-
Node.js 使用命令行工具检查更新
随着 Node.js 的"走红",使用 Node.js 开发命令行工具越来越简单.一个成熟的命令行工具应该从一开始就要考虑好之后的版本更新如何"优雅"的告知用户.最好的方法当然是当用户在终端执行命令时,将相关信息提示给用户. 这篇文章将给出一个易用.高效.可定制的方法.源码在这里: GITHUB ,欢迎大家顺手点赞.接下来我将讲解其实现思路. 使用 我们先简单看看这个 npm 包的使用方法: const updater = require('pkg-updater'
-
详解Node.js 命令行程序开发教程
一种编程语言是否易用,很大程度上,取决于开发命令行程序的能力. Node.js 作为目前最热门的开发工具之一,怎样使用它开发命令行程序,是 Web 开发者应该掌握的技能. 下面就是我在它的基础上扩展的教程,应该是目前最好的解决方案了. 一.可执行脚本 我们从最简单的讲起. 首先,使用 JavaScript 语言,写一个可执行脚本 hello . #!/usr/bin/env node console.log('hello world'); 然后,修改 hello 的权限. $ chmod 755
-
利用node.js制作命令行工具方法教程(一)
前言 之前使用过一些全局安装的NPM包,安装完之后,可以通过其提供的命令,完成一些任务.比如Fis3,可以通过fis3 server start 开启fis的静态文件服务,通过fis3 release开启文件编译与发布:还有vue-cli,可以通过vue init webpack my-project来初始化vue+webpack的项目基础配置.最近有一个需求,需要写一个类似vue-cli的NPM包,通过命令行操作实现项目初始配置,所以就查看了相关资料,学习了一下如何使用node来生成自己的命令
-
详解用Node.js写一个简单的命令行工具
本文介绍了用Node.js写一个简单的命令行工具,分享给大家,具体如下: 操作系统需要为Linux 1. 目标 在命令行输入自己写的命令,完成目标任务 命令行要求全局有效 命令行要求可以删除 命令行作用,生成一个文件,显示当前的日期 2. 代码部分 新建一个文件,命名为sherryFile 文件sherryFile的内容 介绍: 生成一个文件,文件内容为当前日期和创建者 #! /usr/bin/env node console.log('command start'); const fs = r
-
详解使用 Node.js 开发简单的脚手架工具
前言 像我们熟悉的 vue-cli,react-native-cli 等脚手架,只需要输入简单的命令 vue init webpack project,即可快速帮我们生成一个初始项目.在实际工作中,我们可以定制一个属于自己的脚手架,来提高自己的工作效率. 为什么需要需要脚手架? 减少重复性的工作,不再需要复制其他项目再删除无关代码,或者从零创建一个项目和文件. 根据交互动态生成项目结构和配置文件等. 多人协作更为方便,不需要把文件传来传去. 思路 要开发脚手架,首先要理清思路,脚手架是如何工作的
-
详解阿里Node.js技术文档之process模块学习指南
模块概览 process是node的全局模块,作用比较直观.可以通过它来获得node进程相关的信息,比如运行node程序时的命令行参数.或者设置进程相关信息,比如设置环境变量. 环境变量:process.env 使用频率很高,node服务运行时,时常会判断当前服务运行的环境,如下所示 if(process.env.NODE_ENV === 'production'){ console.log('生产环境'); }else{ console.log('非生产环境'); } 运行命令 NODE_EN
-
详解如何用js实现一个网页版节拍器
目录 引言 1. 需求分析 2. 素材准备 3. 开发实现 3.1 框架选型 3.2 模块设计 3.3 数据结构设计 3.4 播放逻辑 3.5 音频控制 3.6 动效 3.7 大屏展示 3.8 新增人声发音 4. 部署 5. 后续工作 5.1 目前存在的问题 ios声音 5.2 TODO 切换不同音效 引言 平时练尤克里里经常用到节拍器,突发奇想自己用js开发一个. 最后实现的效果如下:ahao430.github.io/metronome/. 代码见github仓库:github.com/ah
-
详解在node.js中require方法的加载规则
require 方法的加载规则 优先从缓存中加载 核心模块 路径形式的模块 第三方模块 一.优先从缓存中加载 main.js:执行加载a.js模块 require('./a') a.js:执行加载b.js模块,并输出a被加载了 require('./b') console.log('a.js 被加载了') b.js:输出b被加载了 console.log('b.js 被加载了') 结果: 可以看出:main去加载a.js,然后a在去加载b.js过程中,并没有打印两次 a.js被加载,Node会直
-
node.js做一个简单的爬虫案例教程
准备工作 首先,你需要下载 nodejs,这个应该没啥问题吧 原文要求下载 webstrom,我电脑上本来就有,但其实不用下载,完全在命令行里面操作就行 创建工程 准备工作做完了,下面就开始创建工程了 首先,在你想要放资源的地方创建文件夹,比如我在 E 盘里面创建了一个 myStudyNodejs 的文件夹 在命令行里面进入你创建的文件夹 如图 进入 e 盘:E: 进入文件夹:cd myStudyNodejs(你创建的文件夹的名字) 注意全是英文符号 初始化项目,在你创建的文件夹下面运行 npm
-
详解如何使用C++写一个线程安全的单例模式
目录 单例模式的简单实现 有问题的双重检测锁 现代C++中的解决方法 使用现代C++中的内存顺序限制 使用现代C++中的call_once方法 使用静态局部变量 单例模式的简单实现 单例模式大概是流传最为广泛的设计模式之一了.一份简单的实现代码大概是下面这个样子的: class singleton { public: static singleton* instance() { if (inst_ != nullptr) { inst_ = new singleton(); } return i
-
教你用Js写一个简单的五子棋小游戏
目录 棋盘绘制 棋子的绘制 在点击 canvas 的时候获取相对于棋盘数据的坐标点 是否结束 悔棋功能 总结 这里的五子棋只做一些基础的功能,对于相对专业的规则不做处理. 那么该五子棋实现的规则和功能如下: 整体功能采用canvas实现 行列都规定 20 个数量,那么棋子的行列数量是 20 + 1 棋盘数据采用稀疏数组格式 棋子:0 为黑色,1 为白色 可以悔棋 胜负结束判断 棋盘绘制 <template> <div class="gobang"> <ca
-
如何从0开始用node写一个自己的命令行程序
前言 什么是命令行程序呢?像我们常见的webpack,vue-cli都属于命令行程序. 本文将带你从0开始用node写一个自己的命令行程序,并发布到npm. 准备工作 我打算写一个统计个人代码提交量的命令行工具,起名 git-tool . npm地址见git-tool,GitHub地址见 git-tool . 1.在GitHub上新建一个项目git-tool. 2.克隆到本地进行开发. 3.执行npm init创建package.json文件. // 其他代码 "bin": { &qu
-
使用Node.js写一个代码生成器的方法步骤
背景 第一次接触代码生成器用的是动软代码生成器,数据库设计好之后,一键生成后端 curd代码.之后也用过 CodeSmith , T4.目前市面上也有很多优秀的代码生成器,而且大部分都提供可视化界面操作. 自己写一个的原因是因为要集成到自己写的一个小工具中,而且使用 Node.js 这种动态脚本语言进行编写更加灵活. 原理 代码生成器的原理就是: 数据 + 模板 => 文件 . 数据 一般为数据库的表字段结构. 模板 的语法与使用的模板引擎有关. 使用模板引擎将 数据 和 模板 进行编译,编译
随机推荐
- 解决MySQL因不能创建临时文件而导致无法启动的方法
- shell脚本监控linux系统内存使用情况的方法(不使用nagios监控linux)
- 最好的8个Java RESTful框架
- asp.net使用Socket.Send发送信息及Socket.SendFile传输文件的方法
- 屏蔽机器人从你的网站搜取email地址的php代码
- PHP中substr函数字符串截取用法分析
- javascript跨域刷新实现代码
- Python的Flask框架中的Jinja2模板引擎学习教程
- 世界上最健康的作息时间表分享
- MySql 备忘录
- jQuery三级下拉列表导航菜单代码分享
- jsp SmartUpload 实现上传功能代码
- Android实现滑动删除操作(PopupWindow)
- springMVC导出word模板的方法
- java文件操作工具类
- PHP使用CURL模拟登录的方法
- C#实现简单过滤非法字符实例
- python通过opencv实现批量剪切图片
- js的函数的按值传递参数(实例讲解)
- 基于Java实现抽奖系统