2017-08-11 14 views
1

JavaScriptからシェル内の変数(Node.jsの)に設定します。script.js内から私はこのように実行するスクリプト持っ

node script.js 

が、私はに出戻って変数を渡すしたいと思いますシェルを使用してください。

基本的には、JSを実行して変数を作成してから、その変数をシェルコマンドに使用したいと考えています。私はこれを見てみました、そして、私はそれを考え出して多くの運を持っていませんでした。単にconsole.log(foo = bar)を実行しても機能しません。

答えて

1

シェルは協力しなければなりません(通常、あなたはgdb/ptraceを通して変数を設定することができますが、これは非常にハッキーなのでシェルを破壊する可能性があります)。あなたは、値とシェルがそれを出力(にconsole.log)を取り込むことができ :

variable=$(node script.js) 

かを出力することができ、例えば、それを値を設定し、evalますevalできるテキスト:

eval "$(node -e 'console.log("variable=42")')" 
echo $variable 
+0

これはうまくいきました。私の状況では、IFSと組み合わせて複数の変数を同じJSファイルから取得しました。 IFS =、; $(ノードscript.js)を設定します。 var1 = $ 1; var2 = $ 2; – BarryMode

関連する問題