Linux命令之修改终端参数stty

Posted 二木成林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令之修改终端参数stty相关的知识,希望对你有一定的参考价值。

概述

stty 命令用于检查和修改当前注册的终端的通信参数。UNIX系统为键盘的输入和终端的输出提供了重要的控制手段,可以通过 stty 命令对特定终端或通信线路设置选项。stty 还可用于控制一些具有特殊控制功能的键。比如系统可能已经使用 CTRL-D 作为文件结束符,但你可能喜欢使用 CTRL-C。这时我们可以使用 stty 命令改变这些默认设置。



语法

该命令的语法如下:

stty [-F DEVICE | --file=DEVICE] [SETTING]...
stty [-F DEVICE | --file=DEVICE] [-a|--all]
stty [-F DEVICE | --file=DEVICE] [-g|--save]

该命令支持的选项有:

选项说明
-a以容易阅读的方式打印当前的所有配置
-g以stty可读方式打印当前的所有配置


使用

输出终端的行数和列数

如果要输出终端的行数,命令如下:

stty size
# 等价于 tput cols 和 cput lines

禁止和启用输出大写的方法

如果在命令行下要禁止输出大写,命令格式如下:

# 禁止输出大写
stty iuclc
# 解除禁止
stty -iuclc

禁止和启用输出小写的方法

如果在命令行下要禁止输出小写,命令格式如下:

# 禁止输出小写
stty olcuc
# 解除禁止
stty -olcuc

屏蔽显示

设置之后,在命令行窗口输入的字符是不可见的,通常可以用来输入密码。格式如下:

# 屏蔽显示
stty -echo
# 恢复显示
stty echo

写一个简单的脚本来获取输入的密码,而不是使用 read 命令的 -s 选项。如下:

#!/bin/bash

echo -e "Enter password: "
# 在读取密码前禁止回显
stty -echo
# 读取输入的内容存入到 password 变量
read password
# 重新允许回显
stty echo
# 打印结果
echo "password: $password"

以上是关于Linux命令之修改终端参数stty的主要内容,如果未能解决你的问题,请参考以下文章

linux的stty命令详解

stty命令使用

Linux输入命令不显示

Linux输入命令不显示

Linux输入命令不显示

Linux stty命令