次の内容のenv.sh
があるとします。JSからシェルスクリプトを入手する
export SOME_VAL="abcd"
我々は、JS(Node.jsの)スクリプトbootstrap.js
からこのシェルスクリプトをソースにしたいです。
const childProcess = require('child_process');
const cmd = '. ' + pathToEnvScript;
childProcess.exec(cmd, (err, stdout, stderr) => {
if (err) console.error(err);
console.log(stdout);
})
ここではbootstrap.js
と呼ばれます。ソーシングは、いかなる有効になりませんなぜ
echo $SOME_VAL # empty
node bootstrap.js
echo $SOME_VAL # empty
?端末からsource env.sh
を呼び出すとソーシングが機能しますが、node bootstrap.js
では機能しません。
あなたも、シェルスクリプトを調達するためにnodejsを使用したいと思うのはなぜ?私は、あなたの変数を子スコープから 'export 'する必要があると思います。 – RaphaMex
いくつかのプロジェクト要件によって制限されています。私は方法について興味がある。 – hackjutsu
オプションを教えてください。私はそれを明らかに不可能であることを回避するために、あなたの要件に関する詳細を必要とします。 – RaphaMex