除了stty命令,我们还可以使用tput命令来更改终端的参数和功能。
1 tput 命令的功能
tput 命令的主要功能有:移动更改光标、更改文本显示属性(如颜色、下划线、粗体),清除屏幕特定区域等。
2 tput 命令格式
tput [选项] [参数]
3 设置文本颜色属性
3.1 tput setaf / setbf :设置前景色 / 背景色
命令格式:
- tput setab n : 设置背景色,set text attributes background color
- tput setaf n : 设置前景色,set text attributes front color
参数n:
- 0 – Black,黑色
- 1 – Red,红色
- 2 – Green,绿色
- 3 – Yellow,黄色
- 4 – Blue,蓝色
- 5 – Magenta,品红
- 6 – Cyan,青色
- 7 – White,白色
 例子:设置前背景色为黄色(3),背景色为品红(5)。
csdn @ edu bash ~ $ tput setaf 3 setab 5
csdn @ edu bash ~ $ tput setab 5
csdn @ edu bash ~ $

看来不能在一个命令中同时设置前景色和背景色,要分开来用两个命令分别设置。
csdn @ edu bash ~ $ tput setaf 3; tput setab 5
csdn @ edu bash ~ $

3.2 tput rev:反显当前的颜色方案
rev源自reverse。
csdn @ edu bash ~ $ tput setaf 3; tput setab 5
csdn @ edu bash ~ $ tput rev
csdn @ edu bash ~ $

 4 设置文本模式属性
 
| 命令 | 功能 | 
| tput bold | 加粗字体 | 
| tput dim | 打开高亮模式,turn on half-bright mode | 
| tput smul | 添加下划线,start mode of underline, | 
| tput rmul | 取消下划线,remove mode of underline | 
| tput smso | 突出模式,start mode of standout | 
| tput rmso | 反显突出模式,reverse mode of standout | 
| tput sgr0 | set global attributes return to 0, 取消所有属性 | 
csdn @ edu bash ~ $ tput setaf 3; tput setab 5
csdn @ edu bash ~ $ tput smso
csdn @ edu bash ~ $ tput rmso
csdn @ edu bash ~ $ tput smul
csdn @ edu bash ~ $ tput bold
csdn @ edu bash ~ $ tput rmul
csdn @ edu bash ~ $ tput dim
csdn @ edu bash ~ $ tput sgr0csdn @ edu bash ~ $

5 设置光标属性
| 命令 | 功能 | 
| tput clear | 清屏 | 
| tput sc | 保存当前光标位置,save curosr position | 
| tput rc | 恢复光标位置,restore cursor postion | 
| tput cup row column | 将光标移动到指定行row和列column, | 
| tput civis | 光标不可见,cursor invisible | 
| tput cnorm | 光标可见,cursor mormal | 
| tpu init | 清空格式 | 
我们将执行以下命令序列:
tput clear                   # 清屏
tput sc                      # 保存当前光标位置
tput cup 10 13               # 将光标移动到第10行第13列
echo -n Enter your password: # 提示用户输入密码
tput civis                   # 光标不可见
read p                       # 将用户输入的密码保存到变量p中
tput cnorm                   # 光标可见
tput rc                      # 恢复光标位置
echo your password: $p       # 显示用户输入的密码csdn @ edu bash ~ $ tput clear;tput sc;tput cup 10 13;echo -n Enter your password:;tput civis; read p; tput cnorm; tput rc; echo your password: $p

6 其它功能
| 命令 | 功能 | 
| tput lines | 显示行数 | 
| tpus cols | 显示列数 | 
| tput reset | 重置终端设置 | 
| tput longname | 显示当前终端类型的长名称 | 
| tput hs | 具有状态行 | 
csdn @ edu bash ~ $ tput lines
22
csdn @ edu bash ~ $ tput cols
132
csdn @ edu bash ~ $ tput longname
xterm terminal emulator (X Window System)csdn @ edu bash ~ $




















