tput命令使用简介

来源:互联网 发布:金字塔原理 知乎 编辑:程序博客网 时间:2024/06/07 02:57

tput 命令将通过 terminfo 数据库对您的终端会话进行初始化和操作。通过使用tput,您可以更改几项终端功能,如移动或更改光标、更改文本属性,以及清除终端屏幕的特性

 

对于在Shell下面编写屏幕程序,大家使用echo命令比较多,而且此命令也比较快。下面介绍的是另一方法,只是速度比较慢。要实现这一点,系统上需要一个彩色监视器和tput命令。

一.使用

在使用tput前,需要在脚本或命令行中使用tput命令初始化终端。

$ tput init

tput产生三种不同的输出:字符型、数字型和布尔型(真/假)。

/字符串输出/

下面是大部分常用字符串:

名字含义

bel 警铃

blink 闪烁模式

bold 粗体

civis 隐藏光标

clear 清屏

cnorm 不隐藏光标

cup 移动光标到屏幕位置( x,y)

el 清除到行尾

ell 清除到行首

smso 启动突出模式

rmso 停止突出模式

smul 开始下划线模式

rmul 结束下划线模式

sc 保存当前光标位置

rc 恢复光标到最后保存位置

sgr0 正常屏幕

rev 逆转视图

setab [1-7] 使用ANSI escape设置背景色

setaf [1-7] 使用ANSI escape设置前景色

/数字输出/

以下是大部分常用数字输出。

名字含义

cols 列数目

ittab设置宽度

lines 屏幕行数

/布尔输出/

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

名字含义

chts 光标不可见

hs 具有状态行

例如:tput clear 清除屏幕

二.光标位置

可以用tput将光标放在屏幕任意位置。格式为:

cup r c

r为从上至下屏幕行数, c为穿过屏幕列数。

最好将之编成函数,这样就可以把行和列的值传递给它。

例子:tput cup 2 3命令将光标放到第2行、第3列。

三.菜单中使用颜色

对域使用颜色可以使数据输入屏幕看起来更加专业。下面将使用的颜色是A N S I标准颜

色,并不是所有颜色都适合于所有系统。下面列出了大部分常用颜色。

1. 前景色:

数字颜色数字颜色

0 黑色 4 蓝色

1 红色 5 紫色

2 绿色 6 青色

3 黄(或棕)色 7 白(或灰)色

2. 背景色:

数字颜色数字颜色

0 黑色 4 青色

1 红色 5 蓝色

2 绿色 6 青色

3 黄(或棕)色 7 白(或灰)色

例子:黑底绿字echo "33[40;32m"

使用tput命令可以增强应用外观及脚本的控制。颜色设置可以增加应用的专业性。注意使用颜色不要太过火,否则速度会非常的慢。

 

举例:

#!/bin/bash  # clear the screen  tput clear # Move cursor to screen location X,Y (top left is 0,0) tput cup 3 15  # Set a foreground colour using ANSI escape tput setaf 3  echo "XYX Corp LTD." tput sgr0  tput cup 5 17  #Set reverse video mode   tput rev  echo "M A I N - M E N U" tput sgr0  tput cup 7 15  echo "1. User Management"  tput cup 8 15  echo "2. Service Management"  tput cup 9 15  echo "3. Process Management"    tput cup 10 15  echo "4. Backup"    # Set bold mode  tput bold  tput cup 12 15  read -p "Enter your choice [1-4] " choice tput clear put sgr0  tput rc 



输出: