2013-02-13 2 views
0

Мне нравится генерировать сценарий оболочки внутри файла сборки grunt и устанавливать бит выполнения.Grunt: Как я могу изменить бит режима файла (chmod)?

В моей задаче я сделать следующее:

grunt.registerTask('createScript', 'Creates the script', function() { 
    var ejs = require('ejs'); 
    //... 
    grunt.file.write(
     './build/myScript.sh', 
     ejs.render(grunt.file.read('myScript.sh.ejs'), { locals:myParams }) 
    ); 
}); 

Кажется, что ни grunt.file.write, ни grunt.file имеют возможность указать биты режима файла. (см. API grunt.file)

Как установить биты?

ответ

1

Поскольку grunt работает в узле, мы можем просто использовать модуль файловой системы fs узла. fs имеет способ chmod()/chmodSync().

Пример кода может чем выглядеть следующим образом:

grunt.registerTask('createScript', 'Creates the script', function() { 
    var ejs = require('ejs'); 
    var fs = require('fs'); 
    //... 
    grunt.file.write(
     './build/myScript.sh', 
     ejs.render(grunt.file.read('myScript.sh.ejs'), { locals:myParams }) 
    ); 
    fs.chmodSync('./build/myScript.sh', '777'); 
}); 
Смежные вопросы