多种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
}