如何在gruntjs任务中运行MULTIPLE shell命令?

时间:2013-04-20 16:23:59

标签: node.js gruntjs

我目前使用grunt-shellgrunt任务运行shell命令。有没有更好的方法在一个任务中运行多个命令,而不是将它们与'&&'串在一起?

我的Gruntfile(部分):

grunt.initConfig({
  shell: {
    deploy: {
      options: { stdout: true },
      command: 'mkdir -p static/styles && cp public/styles/main.css static/styles'
    }
  }
});

一系列命令有效,但它会很好:

grunt.initConfig({
  shell: {
    deploy: {
      options: { stdout: true },
      command: [
        'mkdir -p static/styles',
        'cp public/styles/main.css static/styles'
      ]
    }
  }
});

1 个答案:

答案 0 :(得分:14)

您可以将它们加在一起:

grunt.initConfig({
  shell: {
    deploy: {
      options: { stdout: true },
      command: [
        'mkdir -p static/styles',
        'cp public/styles/main.css static/styles'
      ].join('&&')
    }
  }
});

我选择不支持数组的原因是有些人可能希望;作为分隔符而不是&&,这样可以更轻松地执行上述操作。