如何使用 Golang 获得 tty 大小?我正在尝试通过执行stty size
命令来做到这一点,但我无法正确编写代码。
package main
import (
"os/exec"
"fmt"
"log"
)
func main() {
out, err := exec.Command("stty", "size").Output()
fmt.Printf("out: %#v\n", out)
fmt.Printf("err: %#v\n", err)
if err != nil {
log.Fatal(err)
}
}
输出:
out: []byte{}
err: &exec.ExitError{ProcessState:(*os.ProcessState)(0xc200066520)}
2013/05/16 02:35:57 exit status 1
exit status 1
我认为这是因为 Go 产生了一个与当前 tty 无关的进程,它正在使用它。如何将命令与当前终端关联以获取其大小?