yargs模块 https://www.npmjs.com/package/yargs https://github.com/yargs/yargs/blob/HEAD/docs/api.md

const { argv } = require('yargs');
console.log(argv); >cui 123 ajanuw -p=./
{ _: [ 123, 'ajanuw' ],
help: false,
version: false,
p: './',
'$0': 'AppData\\Roaming\\npm\\node_modules\\sh\\bin\\create-user-info.js' }

脚本文件 /bin/main.js

#!/usr/bin/env node

console.log(123);

package.json

{
"name": "sh",
"version": "1.0.0",
"description": "",
"main": "main.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"bin": {
"r32": "./bin/main.js"
}
}

在脚本根目录执行 npm i -g ./ 或则 npm link测试完后删除npm unlink

r32 执行命令就会出现 123

这是一个返回 随机数的命令

#!/usr/bin/env node

const {
argv
} = require('yargs')
.config({
s: 'c0'
})
.option('all', {
describe: '查看返回字符串类型'
})
.alias('v', 'version')
.help('help') if (argv.version) {
console.log('1.0.0');
return;
} if (argv.all) {
console.log(`
--s=c0 默认返回大小写字母和数字 [c1 全大写] [c2 全小写] [c3 全小写]
`);
return;
} let len = argv._[0] && typeof + argv._[0] === "number" ?
+argv._[0] :
32 const c0 = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; // 大小写字母和数字
const c1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; // 大写
const c2 = 'abcdefghijklmnopqrstuvwxyz'; // 小写
const c3 = '123456789'; // 小写 let c = argv.s; // 默认大小写数字 switch (c) {
case 'c1':
c = c1;
break;
case 'c2':
c = c2;
break;
case 'c3':
c = c3;
break;
default:
c = c0;
break;
} const random = (a, b) => Math.floor(Math.random() * (b - a + 1) + a); function randomString32(len, c) {
// 返回随机字符串
const c_len = c.length;
return new Array(len)
.fill()
.reduce((acc) => acc += c[random(0, c_len - 1)], '')
} const str = randomString32(len, c);
const exec = require('child_process').exec ;
exec(`echo ${str} | clip`, (error, stdout, stderr)=>{
if(error) console.log('复制到粘贴板失败!');
})
console.log(str);
>node .\bin\main.js 6 --s=c3
842773

node.js 设置脚本命令的更多相关文章

  1. node.js如何制作命令行工具(一)

    之前使用过一些全局安装的NPM包,安装完之后,可以通过其提供的命令,完成一些任务.比如Fis3,可以通过fis3 server start 开启fis的静态文件服务,通过fis3 release开启文 ...

  2. node.js cmd常用命令

    cmd1.c:如果我们想访问c盘,那么我们需要在命令行中输入c:就行了 2.cd..cd..就可以返回上层目录 3.cd mmcd mm即可访问mm文件夹 4.dir如果想查看该文件夹下有哪些文件,则 ...

  3. 微软开放技术发布针对 Mac 和 Linux 的更新版 Azure Node.JS SDK 和命令行工具

    发布于 2013-12-04 作者 Eduard Koller 这次为我们使用Linux 的朋友带来了更多关于部署云上虚拟机的消息.今天,微软开放技术有限公司 (MS Open Tech),想与大家分 ...

  4. 使用node.js编写脚本将JSON数据转换为SQL语句

    安装依赖模块 当node.js脚本在运行的时候,需要很多支持模块,这些模块存储在node_modules文件夹中.该脚本在执行过程中需要使用到fs.string-format两个支持模块,作用分别是: ...

  5. 安装Nginx并为node.js设置反向代理

    最近看了反向代理和正向代理的东西,想到自己的node.js服务器是运行在3333端口的,也没有为他设置反向代理,node.js项目的一些静态文件是完全可以部署在Nginx上,以减少对node.js的请 ...

  6. node.js 设置静态文件托管

    1.在app.js文件中设置静态文件托管 /*应用程序入口文件*/ /*加载express模块*/ var express = require('express'); /*加载模板处理模块*/ var ...

  7. node.js执行shell命令

    nodejs功能强大且多样,不只是可以实现 服务器端 与 客户端 的实时通讯,另一个功能是用来执行shell命令 首先,引入子进程模块 var process = require('child_pro ...

  8. node.js的npm命令常见错误及解决方案

    使用npm命令进行模块安装的时候场出现各种错误,本文总结我所遇到的各种错误,并提供解决方案.(大部分内容为网上收集) 首先使用淘宝 NPM 镜像 大家都知道国内直接使用 npm 的官方镜像是非常慢的, ...

  9. node.js 设置 淘宝 镜像

    npm config set registry "https://registry.npm.taobao.org" npm info underscore (如果上面配置正确这个命 ...

随机推荐

  1. WPF如何为程序添加splashScreen(初始屏幕)

    一.考虑到大部分的splashscreen其实都只是一个图片,所以最简单的做法是,先导入一张图片,然后设置它的生成操作为“splash screen” 二.通过程序设置SplashScreen pub ...

  2. android开发之打包签名

    android开发之数字签名 http://www.cnblogs.com/fengzhblog/archive/2013/05/06/3063104.html Android系统要求所有的程序经过数 ...

  3. 【Windows】Windows中解析DOS的for命令使用

    目录结构: contents structure [+] 简介 for /d ... in ... 案例 案例:打印C://根目录下所有的文件夹名称 案例:打印当前路径下,只有1-3个字母的文件夹名 ...

  4. 【转】Java异常总结和Spring事务处理异常机制浅析

    异常的概念和Java异常体系结构 异常是程序运行过程中出现的错误.本文主要讲授的是Java语言的异常处理.Java语言的异常处理框架,是Java语言健壮性的一个重要体现. Thorwable类所有异常 ...

  5. HTML5 完美解决javascript中iphone手机和android手机复制文本到剪切板问题

    1.执行以下解决方案条件:(这个是原理) ①执行复制方法时 所复制文字不能被任何 块级元素和行内块元素和行内元素遮盖否则无效:(解决方案:将文本通过绝对定位或其他方式移除屏幕外) ②ios中不能复制属 ...

  6. 译:2. RabbitMQ Java Client 之 Work Queues (工作队列)

    在上篇揭开RabbitMQ的神秘面纱一文中,我们编写了程序来发送和接收来自命名队列的消息. 本篇我们将创建一个工作队列,工作队列背后的假设是每个任务都交付给一个工作者 本篇是译文,英文原文请移步:ht ...

  7. iOS画折线图

    代码例子效果:  下载地址:http://download.csdn.net/detail/qqmcy/6983187 LineChartViewDemo.h #import <UIKit/UI ...

  8. [k8s]jenkins部署在k8s集群

    $ cat jenkins-pvc.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: jenkins-pvc spec: ...

  9. Nginx配置WebService、MySQL、SQL Server、ORACLE等代理

    首先介绍一下Nginx的基本使用: 注意不要直接双击nginx.exe,这样会导致修改配置后重启.停止nginx无效,需要手动关闭任务管理器内的所有nginx进程 在nginx.exe目录,打开命令行 ...

  10. 【MongoDB】MongoDb的“not master and slaveok=false”错误及解决方法 mongo连接从库出现问题

    链接mongodb报错如下 2016-03-14T16:26:00.912+0800 E QUERY [thread1] Error: listDatabases failed:{ "ok& ...