go中有哪些代码可以调用shell脚本?
时间: 2023-06-30 09:24:31 浏览: 133
在 Go 中,调用 shell 脚本可以使用 `os/exec` 包提供的相关函数。以下是几个常用的函数:
1. `exec.Command(name string, arg ...string) *Cmd`:创建一个 `Cmd` 对象来执行命令。
```go
cmd := exec.Command("ls", "-l")
output, err := cmd.Output()
if err != nil {
log.Fatal(err)
}
fmt.Println(string(output))
```
2. `cmd.Run() error`:执行 `Cmd` 对象代表的命令。
```go
cmd := exec.Command("ls", "-l")
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
```
3. `cmd.Start() error` 和 `cmd.Wait() error`:分别启动和等待命令结束。
```go
cmd := exec.Command("ls", "-l")
err := cmd.Start()
if err != nil {
log.Fatal(err)
}
err = cmd.Wait()
if err != nil {
log.Fatal(err)
}
```
以上代码会执行 `ls -l` 命令并输出结果。
注意:在执行命令时,需要确保传递给命令的所有参数都是可信的,以避免安全问题。
阅读全文