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

 

使用tput创建屏幕输出

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

tput 命令行使用说明

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

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

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

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
  • 716

shell编程之tput

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

汇编语言(王爽)——第四次上机

一、实验目的 掌握十进制两位数输出的方法 了解80×25彩色字符模式显示原理 综合应用寻址方式和汇编指令完成应用编程 二、实验内容 编写程序t1.asm,完成在屏幕上输出内存单元中的十进制两位数 教材...
  • Jane_96
  • Jane_96
  • 2017年02月18日 21:56
  • 339

tput使用方法

UNIX® 所拥有的最强大的功能之一是能够创建 shell 脚本,让用户的生活更轻松。这些脚本涉及的范围非常广泛,从简单的单行程序一直到包括数千行代码的程序。许多情况下,shell 脚本将发展为基于菜...
  • Aming_world
  • Aming_world
  • 2015年04月23日 22:46
  • 339

易语言入门教程之屏幕输出程序

首先,这是一份关于易语言的入门教程,不会讲特别深的东西,一般的人应该都能听懂。 在你看到这个贴子的时候,不管你有没有学过其他语言,是为什么学这个,是男是女还是 人渣,年龄多少,已婚未婚……你就应该...
  • u013645180
  • u013645180
  • 2014年03月22日 14:34
  • 972

shell 输出重定向(> >> 2>&1)

1、首先,bash中0,1,2三个数字分别代表STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO,即标准输入(一般是键盘),标准输出(一般是显示屏,准确的说是用户终端控制...
  • feng27156
  • feng27156
  • 2014年09月01日 15:32
  • 22852

java键盘输入/屏幕输出练习

清明节后继续编程实践。 以下两个程序展示了如何通过键盘输入数据以及通过显示器显示数据,从而使下用户与计算机之间的交互。 (一)使用System.in 静态标准输入流对象进行键盘输入 packag...
  • HIT_Saka
  • HIT_Saka
  • 2017年04月05日 16:24
  • 1400
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:创建屏幕输出:tput
举报原因:
原因补充:

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