在 Golang 中,您可以使用 Stdin
来模拟按下 Enter 键。
package main
import (
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("ssh-keygen", "-t", "rsa")
stdin, err := cmd.StdinPipe()
if err != nil {
fmt.Println(err)
return
}
go func() {
defer stdin.Close()
stdin.Write([]byte("\n")) // 模拟按下 Enter 键
}()
output, err := cmd.CombinedOutput()
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(output))
}
在上述示例中,我们通过创建 stdin
管道来获取命令的标准输入。然后,在一个单独的 goroutine 中,我们将 \n
写入管道以模拟按下 Enter 键。最后,通过 cmd.CombinedOutput()
执行命令,并打印输出结果。
请注意,这只是一种实现方式。具体如何处理命令的标准输入取决于您的需求和环境。
内容由零声教学AI助手提供,问题来源于学员提问