小编Phi*_*hil的帖子

Grunt-shell将命令输出作为变量

我正在使用Grunt和Grunt-shell来构建/部署我的Javascript项目.

我想得到最新的git-commit编号并将其存储为变量,但无法弄清楚如何.我尝试过回调并设置全局变量.此变量可在函数内使用,但不能在其他块中使用

grunt.initConfig({
...
shell: {
      getGitCommitNo: {
        command: 'git rev-parse --short HEAD',
        options: {
          callback: function (err, stdout, stderr, cb) {
              global['gitCommitNo'] = stdout;
              grunt.log.ok(global.gitCommitNo);
              cb();
            }
        }
      },
      philTest: {
         command: 'echo Git Commit No: ' +  global.gitCommitNo
      },
...
}
Run Code Online (Sandbox Code Playgroud)

输出:

>> Starting deployment process for version 1.1 in dev environment

Running "shell:getGitCommitNo" (shell) task
bfc82a9
>> bfc82a9

Running "shell:printTest" (shell) task
Git Commit No: undefined

Done, without errors.
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我如何将命令行的输出保存到可用的变量吗?

git gruntjs grunt-shell

6
推荐指数
1
解决办法
1012
查看次数

标签 统计

git ×1

grunt-shell ×1

gruntjs ×1