多种exec按需求用吧,参数很多,或者需要用很多管道符的时候推荐用/bin/bash -c 来执行
func RunCommand(command string) error {
//cmd := exec.Command(name, arg...)
cmd := exec.Command("/bin/bash", "-c", command)
//cmd := exec.Command("python3" ,"oneforall.py","--target","baidu.com","run")
// 命令的错误输出和标准输出都连接到同一个管道
stdout, err := cmd.StdoutPipe()
cmd.Stderr = cmd.Stdout
if err != nil {
return err
}
if err = cmd.Start(); err != nil {
return err
}
// 从管道中实时获取输出并打印到终端
for {
tmp := make([]byte, 1024)
_, err := stdout.Read(tmp)
fmt.Print(string(tmp))
if err != nil {
break
}
}
if err = cmd.Wait(); err != nil {
return err
}
return nil
}
内容:nb 百度随便一搜就是大佬的文章