2016-11-28 50 views
1

我想用我擅长的nodejs编写git钩子脚本。在bash的文件,我可以得到PARAMS这样的:nodejs中的“bash读取命令”

#!/bin/bash read local_ref local_sha remote_ref remote_sha

是否有任何的NodeJS相同的命令?

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

+0

为 “用户的NodeJS输入” 搜索返回许多选项 –

+0

@Adil我试过了,但得到的则params的空值。 – Allen

+0

没有通过git的正确路径 – Adiii

回答

2

这里有一些模块,帮助ü写命令

节点-CMD

简单的命令行/终端界面允许您运行CLI或bash风格的命令,如果你在码头。

shelljs

ShellJS是Node.js的API之上的便携式(在Windows/Linux的/ OS X)执行的Unix shell命令。您可以使用它来消除您的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