nodejs中的“bash read命令”

时间:2016-11-28 06:00:08

标签: node.js git githooks

我想用nodejs编写一个git hook脚本,我很擅长。在bash文件中,我可以得到这样的参数:

#!/bin/bash read local_ref local_sha remote_ref remote_sha

nodejs中是否有相同的命令?

#!/usr/bin/env node "bash read function in nodejs"

1 个答案:

答案 0 :(得分:2)

这里有一些模块可以帮助你写命令

  

节点-CMD

简单的命令行/终端界面,允许您像在终端一样运行cli或bash样式命令。

  

shelljs

ShellJS是Node.js API之上的Unix shell命令的可移植(Windows / Linux / OS X)实现。您可以使用它来消除shell脚本对Unix的依赖性,同时仍保留其熟悉且功能强大的命令。您也可以全局安装它,这样您就可以从Node项目外部运行它 - 告别那些粗糙的Bash脚本!

https://www.npmjs.com/package/node-cmd

https://www.npmjs.com/package/shelljs

看看这段代码可能会对你有所帮助

var cmd=require('node-cmd');

    cmd.get(
        git clone https://github.com/RIAEvangelist/node-cmd.git
        cd node-cmd
        ls
    ,
    function(data){
        console.log('the node-cmd cloned dir contains these files :\n\n',data)
    }
);
  

看看这个模块

// starting a new repo 
require('simple-git')()
     .init()
     .add('./*')
     .commit("first commit!")
     .addRemote('origin', 'https://github.com/user/repo.git')
     .push('origin', 'master');

// push with -u 
require('simple-git')()
     .add('./*')
     .commit("first commit!")
     .addRemote('origin', 'some-repo-url')
     .push(['-u', 'origin', 'master'], function () {
        // done. 
     });

https://www.npmjs.com/package/simple-git