我想用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"
答案 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.
});