os/exec使用方法
时间: 2023-07-30 20:07:32 浏览: 180
下面是`os/exec`包的基本使用方法:
### 执行外部命令
```go
package main
import (
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("echo", "Hello, world!")
out, err := cmd.Output()
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(out))
}
```
上面的代码使用`exec.Command`函数创建一个`Cmd`结构体,该结构体表示要执行的命令。在这种情况下,我们运行的是`echo "Hello, world!"`命令。然后,我们使用`Output`方法运行该命令并等待其完成,并将其输出作为字节切片返回。如果出现错误,则打印错误消息。
### 启动外部命令
```go
package main
import (
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("ping", "-c", "3", "www.baidu.com")
err := cmd.Start()
if err != nil {
fmt.Println(err)
return
}
fmt.Println("Command started")
err = cmd.Wait()
if err != nil {
fmt.Println(err)
return
}
fmt.Println("Command finished")
}
```
上面的代码使用`exec.Command`函数创建一个`Cmd`结构体,该结构体表示要执行的命令。在这种情况下,我们运行的是`ping -c 3 www.baidu.com`命令。然后,我们使用`Start`方法启动该命令并立即返回。然后我们等待命令完成,使用`Wait`方法。如果出现错误,则打印错误消息。
阅读全文