概述
今天主要分享一个Linux命令--stty,这个是linux下改变和打印终端设置的常用命令。下面一起来看看吧!
一、语法
stty(选项)(参数)
打印终端行设置参数说明
-a,--all 以人可读的方式打印所有当前设置;-a参数比单独的stty命令输出的终端信息更详细
![d6ea38ff0f8b8abbe052114d657b0a9b.png](https://i-blog.csdnimg.cn/blog_migrate/4460c98f17cad4a37a2dd65a700e9cc3.jpeg)
-g,--save 以stty可读的方式打印当前所有设置
-F,--file=DEVICE 打开并使用特定的设备((DEVICE)以代替标准输入(stdin)
--help 显示帮助并退出
--version 显示版本并退出
![1e9863b236f9fba2beaf9af35238dfbd.png](https://i-blog.csdnimg.cn/blog_migrate/e8863e300f5e3a1cf059fffa88a9d490.jpeg)
二、用法
1、在命令行下禁止输出小写
stty olcuc #开启stty -olcuc#恢复
2、打印出终端的行数和列数
stty size
![8898a7e6248fb7c8e39eb24e00d2cef3.png](https://i-blog.csdnimg.cn/blog_migrate/91e0d2dfe3308e977546c325b94c7960.jpeg)
3、改变ctrl+D的方法:
stty eof "string"
系统默认是ctrl+D来表示文件的结束,而通过这种方法,可以改变!
4、屏蔽显示
stty -echo #禁止回显
stty echo #打开回显
测试方法:
stty -echo;read;
5、忽略回车符
stty igncr #开启
stty -igncr#恢复
6、利用它设置串口打印操作信息
stty -F /dev/ttyS0 speed 115200 cs8 -parenb -cstopb -echo
解释:通过stty设置/dev/ttyS0串口, 波特率为115200 ,数据位cs8,奇偶校验位-parenb,停止位-cstopb,同时-echo禁止终端回显。
7、定时输入
timeout_read(){ timeout=$1 old_stty_settings=`stty -g` #save current settings stty -icanon min 0 time 100 #set 10seconds,not 100seconds eval read varname #=read $varname stty "$old_stty_settings" #recover settings}
更简单的方法就是利用read命令的-t选项:
read -t 10 varname
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~
![82af8a91586d46a06369af514d70c3d1.gif](https://i-blog.csdnimg.cn/blog_migrate/662df6c433d2f9a0cfd8e83ade42d64a.gif)