我想知道是否有任何节点框架或节点库可用于编写shell脚本?例如,我有bash shell程序来安装Graphite和OpenTSDB RRD工具,我想用node.js来实现它,有可能吗?
谢谢
我想知道是否有任何节点框架或节点库可用于编写shell脚本?例如,我有bash shell程序来安装Graphite和OpenTSDB RRD工具,我想用node.js来实现它,有可能吗?
谢谢
看一眼 shelljs - 它实现了shell和gnu coreutils类似的功能。 与coffeescript一起,它看起来非常类似于shell脚本:
if not which 'git'
echo 'Sorry, this script requires git'
exit 1
# Copy files to release dir
mkdir '-p', 'out/Release'
cp '-R', 'stuff/*', 'out/Release'
# Replace macros in each .js file
cd 'lib'
for file in ls '*.js'
sed '-i', 'BUILD_VERSION', 'v0.1.2', file
sed '-i', /.*REMOVE_THIS_LINE.*\n/, '', file
sed '-i', /.*REPLACE_LINE_WITH_MACRO.*\n/, cat 'macro.js', file
cd '..'
# Run external tool synchronously
if (exec 'git commit -am "Auto-commit"').code != 0
echo 'Error: Git commit failed'
exit 1
看一眼 shelljs - 它实现了shell和gnu coreutils类似的功能。 与coffeescript一起,它看起来非常类似于shell脚本:
if not which 'git'
echo 'Sorry, this script requires git'
exit 1
# Copy files to release dir
mkdir '-p', 'out/Release'
cp '-R', 'stuff/*', 'out/Release'
# Replace macros in each .js file
cd 'lib'
for file in ls '*.js'
sed '-i', 'BUILD_VERSION', 'v0.1.2', file
sed '-i', /.*REMOVE_THIS_LINE.*\n/, '', file
sed '-i', /.*REPLACE_LINE_WITH_MACRO.*\n/, cat 'macro.js', file
cd '..'
# Run external tool synchronously
if (exec 'git commit -am "Auto-commit"').code != 0
echo 'Error: Git commit failed'
exit 1
你应该看看 咕噜 这是一个帮助人们在node.js中编写构建和其他脚本的工具包。有很多插件可以帮助您轻松完成有趣的事情。
话虽如此,如果你知道Bash,我只会坚持使用bash。
看看这个 Twitter上关于Bash vs. Grunt脚本的有趣线程
我用什么Grunt
我用Capistrano的*
对于
我用什么Bash**
对于
*
Capistrano的 + git或 厨师 管他呢**
bash或您想要使用的任何其他工具有许多,其中最受欢迎的是 commander
npm install --save commander
然后编写命令非常简单:
#!/usr/bin/env node
var program = require('commander');
program
.version('0.0.1')
.option('-f, --foo', 'enable some foo')
.option('-b, --bar', 'enable some bar')
.option('-B, --baz', 'enable some baz');
program.on('--foo', function(){
console.log('Stuff!');
});