grunt-shelltask
grunt插件,配置实现自动执行本地或远程的多命令任务处理。
Getting Started
This plugin requires Grunt *
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-shelltask --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt . loadNpmTasks ( ' grunt-shelltask ' ) ;
win系统如果出现有乱码情况,可尝试修改cmd窗口编码和字体,具体如下
设置方法:
1、在cmd窗口输入执行:chcp 65001
2、右击cmd窗口左上角,选择属性-->字体-->Lucida Console 然后确定
The "shelltask" task
Overview
In your project's Gruntfile, add a section named shelltask
to the data object passed into grunt.initConfig()
.
grunt . initConfig ( {
shelltask : {
options : {
localWorkPath : ' ' ,
" remoteName " : {
host : ' ' ,
port : 22 ,
username : ' ' ,
password : ' ' ,
workPath : ' '
}
} ,
my_task : {
options : {
} ,
task : [
{
command : ' pwd ' ,
remote : ' remoteName '
} , {
command : ' cd '
} , {
command : ' skip '
} , {
command : ' exit '
} , {
command : function ( prev ) {
return " echo " + this . task [ 1 ] . ret ;
} ,
after : function ( data ) {
return data ;
}
}
]
} ,
my_task2 : {
}
} ,
} ) ;
Options
options.localWorkPath
Type: String
Default value:
options.remoteName (remoteName user-defined )
Type: Object
Default value:
Usage Examples
Default Options
In this example
grunt . initConfig ( {
shelltask : {
options : {
localWorkPath : ' E:/workspace/ ' ,
" rs " : {
host : ' 123.1.1.10 ' ,
port : 22 ,
username : ' test ' ,
password : ' 123456 ' ,
workPath : ' /home/test/ '
}
} ,
my_task : {
options : {
} ,
task : [
{
command : ' pwd ' ,
remote : ' rs '
} , {
id : ' cdTest ' ,
command : ' cd ' ,
after : function ( data ) {
return { path : data } ;
}
} , {
command : function ( prev ) {
var _cmd = " echo " + prev . ret . path ;
return _cmd ;
}
} , {
command : function ( ) {
var ret = this . getResult ( " cdTest " ) ;
var ret1 = this . getResult ( 1 ) ;
var ret2 = this . getResult ( ) ;
var options = this . options ;
console . log ( ret . path === ret1 . path ) ;
console . log ( ret2 ) ;
return " skip " ;
}
} , {
command : " exit "
} , {
command : " cd "
}
]
}
}
} ) ;
Release History
(Nothing yet)