nodejs中命令行中参数的获取和解析
首先,假设有如下的命令行 node abc.js arg1 arg2 arg3,现在想在abc.js中获取后面的参数arg1、arg2、arg3…
var args = process.argv.splice(2);
process是一个全局对象,argv返回的是一组包含命令行参数的数组。第一项为”node”,第二项为执行的js的完整路径和文件,后面是附加在命令行后的所有参数。
其次,nodejs中经常利用minimist模块,minimist 是一个node 模块,用来做命令行参数解析。
var argv = require('minimist')(process.argv.slice(2));
比如,解析
$ls -a avalue -b bvalue arg
效果简单明了:
argv.a=avalueargv.b=bvalue
argv._[0]=ls
argv._[1]=arg
这里的-a,-b 都是一个string类型的参数,值分别为 avalue,bvalue 。具体的命令格式和参数类型,需要自己去看看此模块的readme。
//var objFile = defaultValue(argv._[0], defaultValue(argv.i, argv.input));
//var outputPath = defaultValue(argv._[1], defaultValue(argv.o, argv.output));
//var binary = defaultValue(defaultValue(argv.b, argv.binary), false);
//var embed = defaultValue(defaultValue(argv.e, argv.embed), false);
//var technique = defaultValue(argv.t, argv.technique);
参考:(http://www.thinksaas.cn/group/topic/379078/)
nodejs中命令行中参数的获取和解析的更多相关文章
- 【转】WriteMessage的信息在AutoCAD中命令行中实时显示
之前程序中有段发送信息到命令行上显示的代码,如下: ed.WriteMessage("开始标注横断面高程,请稍候!"); 但是发现命令行中并不马上显示,代码也明明运 ...
- php在cli模式下取得命令行中的参数的方法-getopt命令行可传递数组-简单自定义方法取命令行参数
在cli模式下执行PHP时,自动给脚本文件传递了一个变量$argv,其值即是一个命令中所有值组成的数组(以空格区分),在PHP程序中接收参数有3种方法1.直接使用argv变量数组. 2.使用$_SER ...
- 在VS中向命令行添加参数的方法
在VS中向命令行添加参数的方法 在VS中向命令行添加参数,即向main()函数传递参数的方法: 右键单击要 添加参数的工程-->属性-->配置属性-->调试,在右侧“命令参数”栏输入 ...
- php从命令行中接收参数
php一直都是作为服务器编程的主要角色,其实php也可已做脚本,比如从命令行中接收一些参数,下面就简单介绍一下如何从命令行中接收参数 代码如下: <?php var_dump($argv); ? ...
- 在 Linux/windows下 命令行中使用和执行 PHP 代码[交互式php]
[注释]在ubuntu下,升级php到7.1版本,虽然提示的是Interactive mode enabled, 但实际上可以直接书写命令,和interactive shell效果一样. 一:wind ...
- 使用curl在命令行中下载文件
http://m.blog.csdn.net/blog/mayadong7349/7019208 使用curl在命令行中下载文件 linux下curl简单应用详解 http://blog.sina.c ...
- Mongo命令行中执行CRUD
在命令行中使用mongo自带的shell命令来执行CRUD操作 首先链接到数据库 增 db.qiao.insert({"qq":1}) db.qiao.save({"qq ...
- DOS命令行中的双引号
在DOS命令窗口下,运行C:\Program Files\WinRAR\WinRAR.exe,提示如下错误: 因为C:\Program Files\WinRAR\WinRAR.exe中含有空格,它被分 ...
- SQLite中命令行程序(CLP)的使用
SQLite CLP是使用和管理SQLite数据库最常用的工具.它在所有平台上的操作方式相同.CLP其实是两个程序,它可以运行在Shell模式下以交互的方式执行查询操作,也可以运行在命令行模式下完成各 ...
随机推荐
- Python 逐行分割大txt文件
# -*- coding: <encoding name> -*- import io LIMIT = 150000 file_count = 0 url_list = [] with i ...
- synchronized同步锁
在多线程的情况下,由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题.Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问.由于 ...
- c#之泛型详解(Generic)
这篇文章主要来讲讲c#中的泛型,因为泛型在c#中有很重要的位置,对于写出高可读性,高性能的代码有着关键的作用. 一.什么是泛型? 泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) 中的一个非 ...
- 标准Trie字典树学习一:原理解析
特别声明: 博文主要是学习过程中的知识整理,以便之后的查阅回顾.部分内容来源于网络(如有摘录未标注请指出).内容如有差错,也欢迎指正! 系列文章: 1. 字典树Trie学习一:原理解析 2.字典树Tr ...
- groovy类、构造函数、方法
数据类型:groovy支持Java语言规范定义的数据类型 类:与Java类的主要区别 1.没有可见修饰符的类或者方法是自动公开的 2.类不需要与源文件定义相同名称,但是默认规定定义一样 3.一个源文件 ...
- R 语言—基本绘图
https://www.harding.edu/fmccown/r/ 这个网站上有壮观的 R 绘制的实际图形 下面只记录自己感兴趣的内容 单变量绘图下包含 1. 带状图 2. 茎叶图 3. 直方图 ...
- xshell ssh连接linux时提示ssh服务器拒绝了密码
用Xshell root连接时显示ssh服务器拒绝了密码,应该是应该是sshd的设置不允许root用户用密码远程登录 修改 /etc/ssh/sshd_config文件,注意,安装了openssh才会 ...
- Java 并发:线程中断-interrupt
一直以为执行了interrupt方法就可以让线程结束,并抛出InterruptedException. 今天看了Java并发编程实战的第七章发现并不是这么回事,在这章的开头就提到 要使任务和线程能安全 ...
- Django,ajax实现表格增删查改,Django内置分页功能。
1.工程目录 2.urls.py """Django_ajax URL Configuration The `urlpatterns` list routes URLs ...
- Luogu4887 第十四分块(前体)
sto \(lxl\) orz 考虑莫队,每次移动端点,我们都要询问区间内和当前数字异或有 \(k\) 个 \(1\) 的数字个数 询问 \([l,r]\) 可以再次离线,拆成询问 \([1,l-1] ...