需求 自己寫腳本 可能要開一個Terminal 來跑一個服務
我的方案是通過applescript 來實現(xiàn)的
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是一個命令行可執(zhí)行
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