需求 自己写脚本 可能要开一个Terminal 来跑一个服务
我的方案是通过applescript 来实现的
applescript 可以自行百度
以启动一个node为例
go启动一个服务
func execCmd(command string){
cmd := exec.Command("/bin/bash", "-c", command)
stdout, err := cmd.StdoutPipe()
if err != nil {
fmt.Println(err)
}
cmd.Start()
reader := bufio.NewReader(stdout)
for {
line, err2 := reader.ReadString('\n')
if err2 != nil || io.EOF == err2 {
break
}
fmt.Println(line)
}
cmd.Wait()
}
func runServer(){
fmt.Println("启动node服务")
execCmd(`cd react && yarn`)
//osascript是一个命令行可执行
execCmd(`osascript appscrpt.scpt ` +dir+"/react")
}
appscrpt.scpt
on run args
tell application "Terminal"
//语法&是字符串拼接的意思
set currentTab to do script (("cd "&args&" && yarn start"))
end tell
end
原文连接:https://blog.csdn.net/qq_22329521/article/details/95395446