回声“在OS X上做

当我尝试: $ stty raw -echo终端上的$ stty raw -echo (Bash on OS X 10.6)。 它确实严密,它就像终端挂在那里。 然后我查阅手册:

stty - 设置终端设备接口的选项

原始(-raw)

如果设置,则更改终端的模式,以便不输入或
输出处理被执行。 如果未设置,则将终端的模式更改为执行输入和输出处理的某种合理状态。 请注意,由于终端驱动程序不再具有一个RAW位,因此无法在设置raw之前直观地设置哪些标志。 这意味着未设置的原始设置可能不会恢复先前生效的所有设置。 要将终端设置为原始状态并准确恢复,建议使用以下shell代码:

save_state=$(stty -g)
stty raw
...
stty "$save_state"              

echo(-echo)

回声(不回显)输入的每个字符。

所以它应该在原始模式下打开终端,然后返回我输入的内容。 有人能解释一下这个命令做什么吗? 当一个论证有冲突时,例如raw-raw ,有什么区别? 他们的意思是一样的吗? 有什么资源可以学习吗?


首先,破折号意味着“禁用”一个设置。 所以这可以回应:

stty echo

这将禁用它:

stty -echo

当你禁用它时,你的输入不会回显给你,这就是为什么它看起来像终端挂起。 试试stty -echo然后输入ls并按回车 - 你仍然会看到ls的输出。

raw设置意味着输入和输出不被处理,只是直接发送。 处理可以是忽略某些字符,将字符转换为其他字符,允许中断信号等等。因此,对于stty raw ,例如,您无法按Ctrl-C来结束进程。

链接地址: http://www.djcxy.com/p/4371.html

上一篇: echo" do on OS X

下一篇: How to make bash script ask for a password?