gpt4 book ai didi

go - 如何在生成交互式程序后捕获/记录所有内容

转载 作者:数据小太阳 更新时间:2023-10-29 03:14:44 26 4
gpt4 key购买 nike

我有一个可以生成交互式进程的方法,现在如何在生成后记录所有内容(包括标准输入和标准输出)?

例如,

func execute(cmd1 string, slice []string) {

cmd := exec.Command(cmd1, slice...)

// redirect the output to terminal
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
cmd.Stdin = os.Stdin

cmd.Run()
}

..互动程序可以是:执行(ftp)

我想我必须在单独的线程中复制标准输入、标准输出和读写。

最佳答案

与其将它的输出重定向到终端,不如阅读它然后你可以记录/打印做任何你想做的事。

    stdout, err := cmd.StdoutPipe()
b, _ := ioutil.ReadAll(stdout)
fmt.Println(string(b))

虽然有很多选项,但类似于上面的代码也可以。我想你会想要删除所有你必须重定向到终端的代码。

关于go - 如何在生成交互式程序后捕获/记录所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39758689/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com