我正在尝试关闭终端中的回声,在 Golang 中,
代码:
func main() {
STDINFILE := os.Stdin
STDINFILENO := 0
raw, err := unix.IoctlGetTermios(STDINFILENO, unix.TCGETA)
if err != nil {
panic(err)
}
rawState := *raw
rawState.Lflag &^= unix.ECHO
err = unix.IoctlSetTermios(STDINFILENO, unix.TCSAFLUSH, &rawState)
if err != nil {
panic(err)
}
var charValue byte
reader := bufio.NewReader(STDINFILE)
for {
var err error
// read one byte
charValue, err = reader.ReadByte()
if err != nil {
if err == io.EOF {
fmt.Println("END OF FILE")
}
}
// press q to quit.
if charValue == 'q' {
os.Exit(0)
}
}
}
但它没有按预期工作
我仍然能够看到回声值,
我做错了什么,有人可以指出我或指导我吗?
呼啦一阵风
相关分类