这是一个与select() does not seem to work on TTY非常相似的问题,但我似乎没有在FD_SET中犯与那里的OP相同的错误。如果我从stdin中读取,这两种模式都可以。但是,如果我想显式地从控制台读取,而不管stdin是否被重定向,我的理解是我应该打开"/dev/tty"。这也适用于阻塞模式,但不适用于非阻塞模式:尽管疯狂地按键,但select()在每次超时结束时都会返回0。我不确定
下面是从中提取的一些外壳代码,以获取终端背景色。我想在Python中模仿这个行为,这样它也可以检索值:# Issue command to get both foreground and# fg bgIFS=: read -t 0.1 -d $'\a' x fgstty echo
# RGB values are in $f