Получить размер терминала в Go

Как получить размер tty с Go lang? Я пытаюсь сделать это с выполнением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, с которым он работает. Как я могу связать команду с текущим терминалом, чтобы получить его размер?

Ответы на вопрос(4)

Ваш ответ на вопрос