使用tput创建屏幕输出
来源:互联网 发布:湖北广电网络官网 编辑:程序博客网 时间:2024/05/20 22:02
tput与terminfo
tput 命令将通过 terminfo 数据库对您的终端会话进行初始化和操作。通过使用 tput,您可以更改几项终端功能,如移动或更改光标、更改文本属性,以及清除终端屏幕的特定区域。
UNIX 系统上的 terminfo 数据库用于定义终端和打印机的属性及功能,包括各设备(例如,终端和打印机)的行数和列数以及要发送至该设备的文本的属性。
UNIX 中的几个常用程序都依赖 terminfo 数据库提供这些属性以及许多其他内容,其中包括 vi 和 emacs 编辑器以及 curses 和 man 程序。
tput常用法
tput默认通过$TERM的值来指示终端类型,但我们也可以通过 -T $Type
来指定终端类型。不过一般来说都没有这个必要。
下面的用法中都上略对-T参数的说。
- tput capname [parameters]: 这是tput最常用的方式,具体用法见下一章.
- tput init: 初始化终端,在使用tput前一般会先执行该命令
- tput reset: 重置终端属性为默认值
- tput clear: 清屏
- tput -S: 从stdin中读取指令,可以支持一次性设置多个指令,但必须保证一个指令一行.
tput的使用
tput一般用于作三件事情: 设置终端属性,获取终端属性以及判断终端是否支持某项能力.
但请记住,tput并不支持设置颜色!
另外,在使用tput的输出值时,请一定先保证tput的返回值为0!
设置终端属性
tput主要是通过输出控制码字符串来实现一些特殊终端效果的.
- bel: 警铃
- blink: 进入闪烁模式
- bold: 进入粗体模式
- civis: 隐藏鼠标
- cnorm: 取消隐藏鼠标
- clear: 清屏
- cup
r c: 将光标移动到第r行,第 c列 - el: 清除到行尾
- ell: 清除到行首
- smso: 进入凸出模式
- rmso: 退出凸出模式
- smul: 进入下划线模式
- rmul: 退出下划线模式
- sc: 保存光标当前位置
- rc: 回复光标最后保存的位置
- rev: 进入反转模式
- sgr0: 回复正常显示
setf
n/setb n: 设置前景色/背景色.$n为在terminfo数据库中的颜色数值,一般对应关系为:数值 颜色 0黑色1蓝色2绿色3青色4红色5洋红色6黄色7白色- setaf
n/setab n: 使用ANSI的转义字符来设置前景色/背景色.
下面是一个例子
#!/bin/bashBOLD=$(tput bold)REV=$(tput rev)NORMAL=$(tput sgr0)CURSOR_OFF=$(tput civis)CURSOR_ON=$(tput cnorm)tput inittput clearecho $CURSOR_OFFtput cup 2 15echo -e "${BOLD}粗体效果{NORMAL}\n"echo "${REV}反转效果${NORMAL}"echo $CURSOR_ON
获取终端属性
tput会输出一个数字,表示该属性的值.
- cols: 获取终端一行有多少列字符
- lines: 获取终端一列有多少行字符
- it: 终端的TAB相当于几个空格
下面是一个例子
echo "The terminal is $(tput cols) x $(tput lines)"The terminal is x
判断终端是否存在某项能力
tput会通过返回值来表示是否具有这项能力(0表示true,1表示false).
- chts: 光标是否不可见
- hs: 终端是否具有状态行
下面是一个例子:
if tput hs;then echo "your terminal has a status lne"else echo "your terminal has NO status line"fiyour terminal has NO status line
0 0
- 使用tput创建屏幕输出
- 创建屏幕输出:tput
- 使用TPUT将命令输出刷新
- tput使用
- random+tput 更改屏幕显示
- tput命令使用简介
- tput
- Linux_Shell 输出带颜色的字体(一) 利用tput
- linux shell编程指南第二十一章------创建屏幕输出
- tput、set
- Linux tput
- Linux tput
- tput使用方法
- tput 命令
- tput 命令
- Linux下使用RecordMyDesktop进行屏幕录像 输出图像格式转换
- 使用shell编写的一个简单的时钟(tput和date介绍)
- shell-----使用tput和sleep从0开始计数到40
- C语言字符串处理
- map用迭代器进行遍历的方法总结
- 十大滤波算法
- gradle依赖
- Laravel5.3开发API(Dingo+Passport+Swagger)
- 使用tput创建屏幕输出
- 使用 Smartmontools 检测硬盘坏道
- Mybatis-基本配置文件
- 腾讯云CentOS7.0使用yum安装mysql及使用遇到的问题
- C计算最大回文字串的长度
- 1225 余数之和
- LlintCode:完美平方
- Linux 安装 .NET Core 1.0 SDK
- 博弈sg函数模板