`

创建屏幕输出:tput

阅读更多

创建屏幕输出

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

1 tput

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

1.1 字符串输出

常用字符串有:

名字含义

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

1.2 数字输出

常用数字输出:
名字含义
cols列数目
ittab设置宽度
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脚本 精华中文版

    021_创建屏幕输出_tput.pdf 022_创建屏幕输入.pdf 023_测试脚本.pdf 024_shell嵌入命令.pdf 025_快速创建文件_自动菜单_ftp传输_连接至其他应用系统.pdf 026_创建以日期命名的文件和临时文件_信号_trap命令...

    shell 编程(中文)[pdf]

    021_创建屏幕输出_tput.pdf 022_创建屏幕输入.pdf 023_测试脚本.pdf 024_shell嵌入命令.pdf 025_快速创建文件_自动菜单_ftp传输_连接至其他应用系统.pdf 026_创建以日期命名的文件和临时文件_信号_trap命令以及如何...

    linux shell

    `021_创建屏幕输出_tput.pdf`和`022_创建屏幕输入.pdf`可能涉及到控制终端输出和输入的技巧,tput是终端控制工具,可以用来设置颜色、字体大小等终端属性,而创建屏幕输入则可能涉及到了读取用户输入和处理键盘事件...

    linux基本命令电子书

    在本电子书中,主要讲解的是如何利用shell脚本来创建交互式且具有专业屏幕输出的功能,这涉及到`tput`命令的使用。 `tput`命令是Linux shell脚本中用于处理终端输出的一个工具,它允许程序员控制终端的特性,如颜色...

    在Bash下输出彩色的文本

    - ANSI转义序列也可以用于移动光标位置,清除屏幕等,这对于创建复杂的命令行界面非常有用。 - 如果需要确保脚本在任何终端上都能正确显示颜色,需要检查终端是否支持ANSI颜色。这可以通过`tput colors`命令来完成...

    shell编程中文

    **tput**命令(021_创建屏幕输出_tput.pdf)是控制终端输出格式和颜色的工具,常用于定制命令行界面的显示效果。通过tput,你可以调整文本属性,如颜色、高亮或清除屏幕,为脚本添加用户友好的视觉反馈。 **创建...

    shell 笔记

    15. 光标操作:`tput sc`保存光标位置,`tput rc`返回到保存的位置,`tput ed`清除屏幕从当前光标到末尾的内容。 16. 调试脚本:通过修改shebang(#!/bin/bash)为`#!/bin/bash –xv`,启动脚本的调试模式。 17. ...

    linux 清屏命令使用大全

    在Linux操作系统中,清屏命令是一项非常基础且实用的功能,它可以帮助用户快速清理终端屏幕上的输出信息,使得屏幕更加整洁,便于查看新的命令执行结果。本文将详细介绍Linux中常用的清屏命令及其用法。 首先,最常...

    shell命令学习资料

    3. **创建屏幕输出--tput(21).pdf**:`tput`是一个用于控制终端输出的命令,它能够改变文本颜色、字体大小等属性。这份资料可能涵盖如何利用`tput`美化终端输出,提高终端界面的可读性和用户体验。 4. **创建屏幕...

    LINUX与UNIX_Shell编程指南(下)

    第21章 创建屏幕输出 236 21.1 tput用法 236 21.1.1 字符串输出 236 21.1.2 数字输出 237 21.1.3 布尔输出 237 21.2 tput用法 237 21.2.1 设置tput命令 237 21.2.2 使用布尔输出 237 21.2.3 在脚本中使用tput 237 ...

    shell脚本笔记

    15. **光标管理**:`tput sc`用于保存光标位置,`tput rc`返回保存的光标位置,`tput ed`清除屏幕。 16. **启用调试**:在shebang行(#! /bin/bash)后添加`-xv`可以使脚本在执行时显示调试信息。 17. **子shell**...

    Linux与unix shell编程指南

    第21章 创建屏幕输出 236 21.1 tput用法 236 21.1.1 字符串输出 236 21.1.2 数字输出 237 21.1.3 布尔输出 237 21.2 tput用法 237 21.2.1 设置tput命令 237 21.2.2 使用布尔输出 237 21.2.3 在脚本中使用tput 237 ...

    linux shell 编程教程

    3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 3.1.8 恢复丢失的crontab文件 25 3.2 at命令 25 3.2.1 使用at命令提交命令或脚本 26 3.2.2 列出所...

    shell 编程指南pdf

    3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 3.1.8 恢复丢失的crontab文件 25 3.2 at命令 25 3.2.1 使用at命令提交命令或脚本 26 3.2.2 列出所...

    LINUX与UNIX SHELL编程指南(很全)

    3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 3.1.8 恢复丢失的crontab文件 25 3.2 at命令 25 3.2.1 使用at命令提交命令或脚本 26 3.2.2 列出所...

    Unix命令行程序和内建指令

    15. **tee**:将输出同时重定向到屏幕和文件。 16. **tput**:处理终端控制序列。 17. **type**:查看命令是内置还是外部。 18. **yes**:无限重复一个字符串。 19. **uname**:显示系统信息。 20. **whatis**:查看...

    linux与unix shell 编程(下)

    3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 3.1.8 恢复丢失的crontab文件 25 3.2 at命令 25 3.2.1 使用at命令提交命令或脚本 26 3.2.2 列出所...

    LINUX与UNIX SHELL编程指南.rar

    3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 3.1.8 恢复丢失的crontab文件 25 3.2 at命令 25 3.2.1 使用at命令提交命令或脚本 26 3.2.2 列出所...

    Linux与unix shell编程指南1.rar

    3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 3.1.8 恢复丢失的crontab文件 25 3.2 at命令 25 3.2.1 使用at命令提交命令或脚本 26 3.2.2 列出所...

Global site tag (gtag.js) - Google Analytics