@@ -30,7 +30,15 @@ var GitUrl string
3030
3131var DefaultReplacer * strings.Replacer
3232
33+ var syscmd string
34+
3335func init () {
36+ system := runtime .GOOS
37+ if system == "windows" {
38+ syscmd = "sh"
39+ } else {
40+ syscmd = "/bin/sh"
41+ }
3442 DefaultReplacer = strings .NewReplacer ("\t " , "" , "\r " , "" , "\n " , "" , "." , "" , "-" , "" )
3543}
3644
@@ -115,7 +123,7 @@ func new(c *cobra.Command, args []string) {
115123func cloneTpl (serviceName string ) error {
116124 //todo 放入gopath
117125 arg := "git clone " + newProjectInfo .TplRepo + " " + getServiceDir (serviceName )
118- cmd := osexec .Command ("/bin/sh" , "-c" , arg )
126+ cmd := osexec .Command (syscmd , "-c" , arg )
119127
120128 var buffer bytes.Buffer
121129 cmd .Stderr = & buffer
@@ -128,7 +136,7 @@ func cloneTpl(serviceName string) error {
128136
129137func cleanGitFile (serviceName string ) error {
130138 arg := "pushd " + getServiceDir (serviceName ) + "&& rm -rf .git && popd"
131- cmd := osexec .Command ("/bin/sh" , "-c" , arg )
139+ cmd := osexec .Command (syscmd , "-c" , arg )
132140
133141 var buffer bytes.Buffer
134142 cmd .Stderr = & buffer
@@ -144,7 +152,7 @@ func replaceContent(serviceName string) error {
144152 for _ , item := range newProjectInfo .ReplaceContent {
145153 arg := `grep '` + item .Key + `' -rl ` + getServiceDir (serviceName ) + `|xargs ` + sedI () + ` 's/` + item .Key + `/` + item .Fn (serviceName ) + `/g'`
146154
147- cmd := osexec .Command ("/bin/sh" , "-c" , arg )
155+ cmd := osexec .Command (syscmd , "-c" , arg )
148156
149157 var buffer bytes.Buffer
150158 cmd .Stderr = & buffer
@@ -166,7 +174,7 @@ func replaceFile(serviceName string) error {
166174 `&&find . -name '` + key + `.go' |awk -F "` + key + `.go" '{print $1}' |` +
167175 `xargs -I'{}' mv {}` + key + `.go {}` + serviceName + `.go&&popd`
168176
169- cmd := osexec .Command ("/bin/sh" , "-c" , arg )
177+ cmd := osexec .Command (syscmd , "-c" , arg )
170178
171179 var buffer bytes.Buffer
172180 cmd .Stderr = & buffer
@@ -184,7 +192,7 @@ func replaceDir(serviceName string) error {
184192 `&&find . -name '` + key + `' -type d |awk -F "` + key + `" '{print $1}'| ` +
185193 `xargs -I'{}' mv {}` + key + ` {}` + serviceName + `&&popd`
186194
187- cmd := osexec .Command ("/bin/sh" , "-c" , arg )
195+ cmd := osexec .Command (syscmd , "-c" , arg )
188196
189197 var buffer bytes.Buffer
190198 cmd .Stderr = & buffer
@@ -205,6 +213,9 @@ func sedI() string {
205213}
206214
207215func getServiceDir (serviceName string ) string {
216+ if runtime .GOOS == "windows" {
217+ return "./" + serviceName
218+ }
208219 if strings .TrimSpace (os .Getenv ("GOPATH" )) != "" {
209220 return os .Getenv ("GOPATH" ) + "/src/" + serviceName
210221 }
@@ -221,7 +232,7 @@ func newJobPro(serviceName string) {
221232
222233 tempDir := "/tmp/" + serviceName
223234 arg := "git clone " + newProjectInfo .TplRepo + " " + tempDir
224- cmd := osexec .Command ("/bin/sh" , "-c" , arg )
235+ cmd := osexec .Command (syscmd , "-c" , arg )
225236
226237 var buffer bytes.Buffer
227238 cmd .Stderr = & buffer
@@ -233,7 +244,7 @@ func newJobPro(serviceName string) {
233244
234245 buffer .Reset ()
235246 shellCmd := `mv ` + tempDir + `/clijob/jobWorker ` + serviceName + " && rm -rf " + tempDir
236- cmd = osexec .Command ("/bin/sh" , "-c" , shellCmd )
247+ cmd = osexec .Command (syscmd , "-c" , shellCmd )
237248 output , err = cmd .Output ()
238249 handlerCmdOutput (output , err , buffer )
239250 if err != nil {
0 commit comments