2013-10-17 11 views
10

シェルスクリプトを書くために使用できるノードフレームワークまたはノードライブラリがあるかどうか疑問に思っていますか?たとえば、GraphiteとOpenTSDBのRRDツールをインストールするためのbashシェルプログラムがありますが、node.jsを使用したいのですが、可能でしょうか?Node.jsによるシェルスクリプト

おかげ

答えて

9

を使用したいと思い、他のどんなツールがshelljsを見てください - それは、シェルやGNU coreutilsのような機能をimplemets 。それはシェルスクリプトと非常によく似て見ることができCoffeeScriptのと一緒 :

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 
+0

ありがとう@Andrey Sidorov、非常に有望に見える、私はこのlibを試してみるつもりです。 –

1

多くは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!'); 
}); 
+1

これは私が探している非常にではありません。シェルスクリプトの作成に役立つノードフレームワークを探しています。例:私はこのスクリプトをbash https://github.com/gdbtek/setup-graphite/blob/master/ubuntu.bashで書いています。これをノードで作ってみたいと思います。 Node.jsを使いすぎると、私はbashスクリプティングにとどまるほうがよいでしょう。 –

3

あなたはツールキットですgruntをチェックアウトする必要があります人々がnode.jsのビルドスクリプトやその他のスクリプトを書くのを手助けするためのものです興味深いことを簡単に行うのに役立つプラグインがたくさんあります。

あなたがBashを知っていれば、私はbashに固執します。

私はJSユニットがプリプロセッサを実行

  • (SASS、require.js、uglifyテストの実行リントツールに
  • を実行

    私は

    • は、本番環境にコードをデプロイするためのカピストラーノ*を使用

    私はなど、 をサーバーのセットアップし、それらを実行している

    • ためバッシュ**を使用

    +1

    あなたは私がすでにBashを知っていればなぜbashに固執するのかもっと説明してください。 bashを使いこなすことの利点はありますか? –

    +1

    1.サーバ上でバイナリプログラムを実行することは、非同期のjavascriptではbashにある方がはるかに難しくなります。 2. Grunt/node.jsはまだ1.0より前であり、APIが変更されています(ノードよりはるかに複雑です)3. Bashは多くのシステムで利用できる汎用ツールですが、node.jsとgruntは多くのシステムにインストールされる可能性は低いです。 –

    +0

    Docker https://www.docker.com/では、このようなことから多くの悩みを解消しています。 (**と*) – Quickredfox

    関連する問題