创建屏幕输出:tput


创建屏幕输出

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

 
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



猜您在找
Linux_Shell 输出带颜色的字体(一) 利用tput tput先对应的用法 tput命令使用简介 tput先对应的用法 屏幕输出VS文件输出
智能推荐
 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告