Làm thế nào để có được kích thước tty với Go lang? Tôi đang cố gắng làm điều này với thực hiện lệnh stty size
, nhưng tôi không thể viết mã đúng.Lấy kích thước thiết bị đầu cuối trong Go
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)
}
}
Output:
out: []byte{}
err: &exec.ExitError{ProcessState:(*os.ProcessState)(0xc200066520)}
2013/05/16 02:35:57 exit status 1
exit status 1
Tôi nghĩ rằng điều này là do Go spawns một quá trình không liên quan đến tty hiện tại, mà nó đang làm việc. Làm thế nào tôi có thể liên quan đến lệnh để thiết bị đầu cuối hiện tại để có được kích thước của nó?
Bạn có thể thử đặt những dòng này vào một hàm và đặt một kiểm tra đơn vị bằng mô-đun 'testing' để kiểm tra hàm, bạn sẽ thấy rằng bạn luôn nhận được mảng trống. – Kingname