git repoに関する情報を含むファイルを作成するビルドスクリプトの一部を作成しようとしています。 2 +コマンドの結果を文字列としてどのように取得するのですか?bash/nodeを使用してコマンド出力を取得する
var fs = require('fs');
var exec = require('child_process').exec;
var cmd = 'echo $(git rev-parse --abbrev-ref HEAD)|$(git log -1 --format=%cd)|$(git rev-parse HEAD)';
exec(cmd, function(error, stdout, stderr) {
fs.writeFile("src/test.js", stdout, function(err) {
if(err) return console.log(err);
console.log(stdout);
});
});
私が知っている問題は、私のcmd
です。文字列を得るためにはどうすればいいのか分かりません<branch>|<date>|<commit-hash>
このコマンドは、自分の端末で直接実行すると機能します。スクリプトに入れて実行すると、 'node write_git_info.js'は動作しません。それは文字通り '$(git rev-parse --abbrev-ref HEAD)| $(git log -1 --format =%cd)| $(git rev-parse HEAD)"をファイルに入れます。何の評価もありません。 @chepnerが言ったように、 – David
を実行すると、最後のコマンドだけが出力されます。私はいくつかの文字列の連結を探しています。 – David
はい、そうです、私は急いで@ chepnerのアプローチを採用しました。私は答えのその部分を取り返しました。私は今、 'node' REPLでそれを試しました。 –