【发布时间】:2017-10-19 12:21:26
【问题描述】:
我正在尝试创建一个通过 ssh 连接到远程服务器并执行用户给出的命令的程序。我在 os.stdin 上使用 os.TeeReader 来记录所有用户输入,但这会破坏 tty。
var bufferRead bytes.Buffer
sshstring:=user+"@"+host
cmd := exec.Command("ssh",sshstring,"-o StrictHostKeyChecking=no")
cmd.Stdout = os.Stdout
cmd.Stdin =io.TeeReader(os.Stdin,&bufferRead)
cmd.Stderr = os.Stderr
cmd.Run()
fmt.Printf("\nHistory: %s", &bufferRead)
我在 tty 损坏时收到以下警告
不会分配伪终端,因为标准输入不是终端
【问题讨论】:
标签: go