正确将参数传递给Go Exec
我正在尝试学习go,并且一开始我想尝试组装一个超级简单的Web服务器来控制iTunes。osascript -e 'Tell Application
"iTunes" to playpause'过去,我已经多次达到这个目的,并认为我可以在这里简单地取消对osascript的调用。
注释掉的“ say 5”命令 确实 起作用。
package mainimport "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.outexit status 1
[55/1536]0x1087f000
我不确定从这里要去哪里,任何方向都将不胜感激。
回答:
我明白了
package mainimport (
"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(…)如果参数中有空格,则在参数中添加双引号,因此您只需要在需要它们的位置转义\“。
以上是 正确将参数传递给Go Exec 的全部内容, 来源链接: utcz.com/qa/419441.html