在Go语言中,可以使用 os/exec
包来执行外部命令,并通过管道输入数据。下面是一个示例代码,演示如何在Go中实现类似的功能:
package main
import (
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("ssh-keygen", "-t", "rsa", "-b", "2048")
cmd.Stdin = strings.NewReader("yes\n")
output, err := cmd.CombinedOutput()
if err != nil {
fmt.Println("命令执行失败:", err)
}
fmt.Println(string(output))
}
这段代码会启动一个名为 ssh-keygen
的外部命令,并向其标准输入提供数据 “yes”,然后捕获命令的输出。请注意,在实际使用时可能需要根据情况进行适当的错误处理。
希望这对你有所帮助。
内容由零声教学AI助手提供,问题来源于学员提问