首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"stty raw -echo“在OS上做什么?

"stty raw -echo“在OS上做什么?
EN

Stack Overflow用户
提问于 2014-04-03 09:11:43
回答 1查看 29.2K关注 0票数 28

当我尝试:$ stty raw -echo在我的终端(Bash在OSX10.6)。就像终端机挂在那里一样。然后我查找手册:

设置终端设备接口的选项。 raw (-raw) 如果已设置,请更改终端的模式,以便没有输入或 执行输出处理。如果未设置,则将终端的模式更改为执行输入和输出处理的合理状态。请注意,由于终端驱动程序不再具有单个raw位,因此无法直观地了解在设置RAW之前设置了哪些标志。这意味着取消设置raw可能不会将以前生效的所有设置放回。要将终端设置为原始状态,然后准确地还原它,建议使用以下shell代码: save_state=$(stty -g) .stty "$save_state“echo (-echo) 回显(不回显)键入的每个字符。

所以它应该在原始模式下打开终端,然后返回我输入的内容。有人能解释一下这条命令是干什么的吗?当一个论点有破折号时,有什么区别,例如raw-raw?他们说的是拯救法吗?有什么我能学到的资源吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-03 12:27:01

首先,破折号的意思是“禁用”设置。因此,这允许回音:

代码语言:javascript
复制
stty echo

这将禁用它:

代码语言:javascript
复制
stty -echo

当您禁用它时,您的输入不会回显给您,这就是为什么似乎终端挂起了。尝试stty -echo,然后键入ls并按返回键--您仍将看到ls的输出。

raw设置意味着输入和输出没有处理,只是直接发送。处理可以是忽略某些字符,将字符转换为其他字符,允许中断信号等。因此,使用stty raw,您不能点击Ctrl来结束一个进程。

票数 45
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22832933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档