我正在尝试学习go,并且一开始我想尝试组装一个超级简单的Web服务器来控制iTunes。osascript -e 'Tell Application "iTunes" to playpause'过去,我已经多次达到这个目的,并认为我可以在这里简单地取消对osascript的调用。
osascript -e 'Tell Application "iTunes" to playpause'
注释掉的“ say 5”命令 确实 起作用。
package main import "exec" //import "os" func main() { var command = "Tell Application 'iTunes' to playpause" //var command = "say 5" c := exec.Command("/usr/bin/osascript", "-e", command) // c.Stdin = os.Stdin _, err := c.CombinedOutput() println(err.String()); }
我收到的回应如下:
jessed@JesseDonat-MBP ~/Desktop/goproj » ./8.out exit status 1 [55/1536]0x1087f000
我不确定从这里要去哪里,任何方向都将不胜感激。
我明白了
package main import ( "fmt" "exec" ) func main() { command := "Tell Application \"iTunes\" to playpause" c := exec.Command("/usr/bin/osascript", "-e", command) if err := c.Run(); err != nil { fmt.Println(err.String()) } }
我认为exec.Command(…)如果参数中有空格,则在参数中添加双引号,因此您只需要在需要它们的位置转义\“。