除了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 modetput smul添加下划线,start mode of underline,tput rmul 取消下划线,remove mode of underlinetput smso突出模式,start mode of standouttput rmso反显突出模式,reverse mode of standouttput sgr0set 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 positiontput rc恢复光标位置,restore cursor postiontput cup row column将光标移动到指定行row和列column,tput civis 光标不可见,cursor invisibletput cnorm光标可见,cursor mormaltpu 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 ~ $
版权归原作者 紫郢剑侠 所有, 如有侵权,请联系我们删除。