js如何开发命令行工具,js写一个简单的命令行工具

option主要为一些密码加密选项

rm /usr/local/bin/sherryFile
{
 "name": "helper",
 "bin": {
 "helper": "bin/helper"
 }
}

前言

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

#!/usr/bin/env node

var program = require('commander');

program.usage('<author>');

// 用户输入`helper hello -h`或`helper hello --helper`时,显示命令使用例子
program.on('--help', function() {
 console.log(' Examples:');
 console.log(' $ helper hello ipluser');
 console.log();
});

program.parse(process.argv);
(program.args.length < 1) && program.help(); // 用户没有输入信息时,调用`help`方法显示帮助信息

const author = program.args[0];

console.log('hello', author);

-c, –crypt-method
Use the specified method to encrypt the passwords.
The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your
libc support these methods.
-e, –encrypted
Supplied passwords are in encrypted form.
-h, –help
Display help message and exit.
-m, –md5
Use MD5 encryption instead of DES when the supplied passwords are not
encrypted.
-s, –sha-rounds
Use the specified number of rounds to encrypt the passwords.
The value 0 means that the system will choos

操作系统需要为Linux

在工程的package.json文件中添加bin字段:

总结

您可能感兴趣的文章:

  • 详解Node.js如何开发命令行工具
  • 利用node.js制作命令行工具方法教程(一)
  • 详解Node.js
    命令行程序开发教程
  • 浅谈node.js
    命令行工具(cli)
  • Node.js命令行/批处理中如何更改Linux用户密码浅析

再执行helper hello ipluser命令:

用这种方法可在node.js中使用:

2/28/2018
    create By karuru

在当前工程目录下执行npm link命令,为当前模块创建一个符号链接:

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

  1. 给该文件赋予执行权限chmod 755 sherryFile
  2. 在该文件所在的文件路径下输入./sherryFile
  3. 如果输出以下内容,表示命令执行成功

哦耶,终于达到完成了,但作为程序员,这还远远不够。当用户没有输入author时,我们希望终端能提醒用户输入信息。

您可能感兴趣的文章:

  • 详解Node.js如何开发命令行工具
  • 利用node.js制作命令行工具方法教程(一)
  • 详解Node.js
    命令行程序开发教程
  • 浅谈node.js
    命令行工具(cli)
  • 详解用Node.js写一个简单的命令行工具

1. 目标

您可能感兴趣的文章:

  • 利用node.js制作命令行工具方法教程(一)
  • 详解Node.js
    命令行程序开发教程
  • 浅谈node.js
    命令行工具(cli)
  • 详解用Node.js写一个简单的命令行工具
  • Node.js命令行/批处理中如何更改Linux用户密码浅析
var cp = require('child_process')
//更新密码
var chpasswd = cp.spawn('chpasswd')
var errmsg

//查看是否有错误
chpasswd.stderr.on('data', function (data) {
 errmsg += data.toString()
})
chpasswd.on('exit', function(code) {
 if (cb) {
 errmsg
  ? cb(new Error(errmsg))
  : cb()
 }
})

//写入密码
chpasswd.stdin.write(username + ':' + password)
chpasswd.stdin.end()

删除命令

$ helper -h

 Usage: helper [options]

 Options:

 -h, --help  output usage information
 -V, --version output the version number

$ helper -V
1.0.0

hpasswd 可在批处理文件中批量更改Linux用户的密码。

将命令修改为全局有效

#!/usr/bin/env node

console.log('hello world');

用法:

#! /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');
});

为了更高效的编写命令行工具,我们使用TJ大神的commander模块。

输入命令后,按 username:password格式输入用户名密码,一行一个,如:

介绍: 生成一个文件,文件内容为当前日期和创建者

我们希望author是由用户输入的,终端应该显示为hello ipluser。修改helper-hello文件内容,解析用户输入信息:

chpasswd
newghost:4567
ln sherryFile /usr/local/bin/sherryFile

老规矩第一个程序为hello world。在工程中新建bin目录,在该目录下创建名为helper的文件,具体内容如下:

本文主要介绍了Node.js命令行/批处理更改Linux用户密码的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧

command start
writeFile success!!!!
command end

执行helper hellohelper hello -h命令,终端将会显示帮助信息:

chpasswd [options]

2. 代码部分

创建命令

在该文件目录下,会有一个新的date.txt文件生成,内容如下

bin目录下新建helper-hello文件:

  1. 新建一个文件,命名为sherryFile
  2. 文件sherryFile的内容
#!/usr/bin/env node

console.log('hello author');
  1. 在命令行输入自己写的命令,完成目标任务
  2. 命令行要求全局有效
  3. 命令行要求可以删除
  4. 命令行作用,生成一个文件,显示当前的日期

执行helper文件,终端将会显示hello world

本文介绍了用Node.js写一个简单的命令行工具,分享给大家,具体如下:

helper-hello文件中添加提示信息:

$ npm link

/node_path/bin/helper -> /node_path/lib/node_modules/myModule/bin/helper
/node_path/lib/node_modules/myModule -> /Users/ipluser/myModule
$ npm install --save commander
#!/usr/bin/env node

var program = require('commander');

program.parse(process.argv);

const author = program.args[0];

console.log('hello', author);
#!/usr/bin/env node

var program = require('commander');

program
 .version('1.0.0')
 .usage('<command> [options]')
 .command('hello', 'hello the author') // 添加hello命令
 .parse(process.argv);

符号链接

$ helper hello ipluser
hello ipluser

前言

在实际的开发过程中,我们可能会有自己的特定需求,

创建一个helper hello <author>的命令,当用户输入helper hello ipluser时,终端显示hello ipluser。修改helper文件内容:

$ helper hello

 Usage: helper-hello <author>

 Options:

 -h, --help output usage information

 Examples:
 $ helper hello ipluser

$ helper hello -h

 Usage: helper-hello <author>

 Options:

 -h, --help output usage information

 Examples:
 $ helper hello ipluser

解析输入信息

hello world

总结

helper文件内容修改为:

现在我们可以直接使用helper命令:

执行helper -hhelper -V命令:

那么我们得学会如何创建一个Node命令行工具。

到此我们编写了一个helper命令行工具,并且具有helper hello
<author>命令。刚兴趣的朋友们快快自己动手实践起来,只有自己做了才能算真正的学习了,希望本文对大家能有所帮助。

#!/usr/bin/env node

var program = require('commander');

program
 .version('1.0.0')
 .parse(process.argv);

commander模块

$ chmod 755 ./bin/helper

Node
给前端开发带来了很大的改变,促进了前端开发的自动化,我们可以简化开发工作,然后利用各种工具包生成生产环境。如运行sass src/sass/main.scss dist/css/main.css即可编译
Sass 文件。

修改helper文件的权限:

$ helper hello ipluser
hello author
$ ./bin/helper
hello world

提示信息

接下来我们创建一个符号链接,在全局的node_modules目录之中,生成一个符号链接,指向模块的本地目录,使我们可以直接使用helper命令。

commander模块提供-h,--help-V, --version两个内置命令。

$ helper
hello world

执行helper hello命令: