当我尝试时:$ stty raw -echo
在我的终端上(OS X 10.6 上的 Bash)。它会做一些事情,就像终端挂在那里一样。然后我查了手册:
stty — 设置终端设备接口的选项
原始(-原始)
如果设置,则更改终端的模式,以便不
执行输入或输出处理。如果未设置,则将终端的模式更改为执行输入和输出处理的某种合理状态。请注意,由于终端驱动程序不再具有单个 RAW 位,因此无法直观地知道在设置 raw 之前设置了哪些标志。这意味着取消设置 raw 可能不会恢复以前有效的所有设置。要将终端设置为原始状态,然后准确恢复,建议使用以下 shell 代码:save_state=$(stty -g) stty raw ... stty "$save_state"
回声(-echo)
回显(不回显)每个键入的字符。
所以它应该将终端转为原始模式,然后按原样返回我输入的内容?有人可以解释一下这个命令是做什么的吗?当参数有破折号时有什么区别,例如raw
和-raw
?他们的意思是一样的吗?有什么资源可以让我学习吗?