创建屏幕输出:tput

转载 2007年10月15日 14:36:00

创建屏幕输出

用户可以使用shell脚本创建交互性的,专业性强的屏幕输出.要实现这一点,系统上需要一个彩色监视器和tput命令.

 

1 tput

在使用tput前,需要在脚本或命令行中使用tput命令初始化终端.
$ tput init
tupt产生三种不同的输出:字符型,数字型和布尔型(真,假)

    1.1 字符串输出

常用字符串有:

名字   含义

bel   警铃
blink   闪烁模式
bold   粗体
civis   隐藏光标
clear   清屏
等等

    1.2 数字输出

常用数字输出:
名字   含义
cols   列数目
it   tab设置宽度
lines   屏幕行数

    1.3 布尔输出

在tput种只有两种布尔操作符

名字   含义
chts   光标不可见
hs   具有状态行


2 tput 用法

    2.1 设置tput命令

可以取得所有tput名字输出,将其保存为更有意义的变量名.格式如下:
variable_name='tupt name'

    2.2 使用布尔输出

可以在if语句种使用布尔型tput输出.

STATUS_LINE='tput hs'
if $STATUS_LINE; then
 echo "your terminal has a status line"
else
 echo "your terminal has NO status line"
fi


    2.3 在脚本中使用tput

以下脚本设置tput bel和cl为更有意义的变量名.

$ vi tput1
#!/bin/bash
BELL=`tput bel`
CLEAR=`tput cl`

echo $BELL
echo $CLEAR

 

    2.4 产生转义序列

所有控制字符均以一个转义序列开始,通常转义键后紧跟字符[.然后实际序列打开或关闭某终端属性.


    2.5 光标位置

可以用tput将光标放在屏幕任意位置.格式为:
cup r c
r 为从上至下屏幕行数,c为穿过屏幕列数
最好将之编成函数,这样就可以把行和列的值传递给它.


    2.6 在屏幕中心位置显示文本

在屏幕中心位置显示文本不是很麻烦.首先从tput中得到列数,然后算出所提供的字符串长度,从tput列数中减去该值,结果再除以2,所得结果可用于显示的字符串行数.

    2.7 在脚本中使用功能键

使用cat命令可以查看发送的任意特殊键控制序列(F1,上箭头等),键入cat -v,然后按任意控制键,回车,在下一行就可以知道终端发送了什么功能键.结束后按<ctrl-c>退出.

    2.8 使用颜色

 

对域使用颜色可以使数据输入屏幕看起来更加专业.显示前景或背景颜色格式为:

<ESCAPE> [background_number;foreground_number m

    2.9 产生颜色

产生颜色需要在echo语句中嵌入控制字符.这种方法适用于带有彩色终端的任何系统.与在控制字符里一样,可以在echo语句里使用转义序列产生颜色.
要产生一个黑色背景加绿色前景色:


echo -e "/033[40;32m"


    2.10 创建精致菜单

3 小结

使用tput命令可以增强应用外观及脚本的控制.颜色设置可以增加应用的专业性.注意使用颜色不要太过火,这也许对你来说很好,但其他用户使用这段脚本时看到这种屏幕设置也许会感到厌烦.可以使用和读取控制字符来增加脚本的灵活性,特别是对用户击键输入操作更是如此.

 

DirectX5.0最新游戏编程指南 DirectDraw篇 三、DirectDraw的要素(四)

5、调色板(Palette)    调色表面需要有调色板才能正确地显示出来。一个调色表面(既颜色索引标)是一些数字的简单集合,其中每个每个数字都表征了一个像素。数字的值是一个颜色表的索引,它告诉Dir...
  • holyfire
  • holyfire
  • 2001-04-14 12:59:00
  • 1435

使用tput创建屏幕输出

tput与terminfotput 命令将通过 terminfo 数据库对您的终端会话进行初始化和操作。通过使用 tput,您可以更改几项终端功能,如移动或更改光标、更改文本属性,以及清除终端屏幕的特...
  • lujun9972
  • lujun9972
  • 2016-12-01 21:33:58
  • 452

Linux_Shell 输出带颜色的字体(一) 利用tput

原文出自stack-overflow Usage Specific tput sub-commands are discussed later. Direct Call tput as p...
  • u010003835
  • u010003835
  • 2016-10-27 11:03:19
  • 928

tput 命令行使用说明

什么是 tput? tput 命令将通过 terminfo 数据库对您的终端会话进行初始化和操作。通过使用 tput,您可以更改几项终端功能,如移动或更改光标、更改文本属性,以及清除终端屏幕的特定区...
  • fdipzone
  • fdipzone
  • 2013-08-19 00:06:22
  • 29222

Linux系统tput命令用法实例详解

tput简介: 用户可以使用shell的tput命令创建交互性的、专业性强的屏幕输出,如移动或更改光标、更改文本属性,以及清除终端屏幕的特定区域。 系统上需要一个彩色监视器和tput命令。tput使用...
  • u010193457
  • u010193457
  • 2016-09-19 22:22:22
  • 2750

shell tput 用法

tput 是用于终端在显示的时候增强用户体验效果的一个命令, 利用tput可以是shell脚本更加完美. tput可以使你的黑布垃圾的终端重现活力. 脚本代码如下: #!/bin/...
  • Soar_Away
  • Soar_Away
  • 2016-07-12 15:56:00
  • 922

Linux tput

什么是 tput? tput 命令将通过 terminfo 数据库对您的终端会话进行初始化和操作。通过使用 tput,您可以更改几项终端功能,如移动或更改光标、更改文本属性,以及清除终端屏幕的特定...
  • strategycn
  • strategycn
  • 2012-03-14 15:44:28
  • 11470

linux shell之tput和stty

tput和stty两种终端处理工具输出终端的行数,终端最大可以有多少个字符 tput cols 输出终端列数,当前光标所在的列离起始有多少字符 tput lines输出终端的名字 tput l...
  • CodeHouse
  • CodeHouse
  • 2017-10-22 20:47:06
  • 128

shell编程之tput

什么是 tput? tput 命令将通过 terminfo 数据库对您的终端会话进行初始化和操作。通过使用tput,您可以更改几项终端功能,如移动或更改光标、更改文本属性,以及清除终端屏幕的特定区域...
  • l1905
  • l1905
  • 2013-05-30 14:48:27
  • 4228

创建屏幕输出

  • 2008年01月12日 21:54
  • 1MB
  • 下载
收藏助手
不良信息举报
您举报文章:创建屏幕输出:tput
举报原因:
原因补充:

(最多只允许输入30个字)