也想出现在这里? 联系我们

Linux中用于更改光标和文本属性的tput命令使用详解

作者 : 小编 本文共1902个字,预计阅读时间需要5分钟 发布时间: 2022-10-28 共896人阅读
也想出现在这里? 联系我们

tput 命令将通过 terminfo 数据库对您的终端会话进行初始化和操作。通过使用 tput,您可以更改几项终端功能,如移动或更改光标、更改文本属性,以及清除终端屏幕的特定区域。与 UNIX 中的大多数命令一样,tput 命令既可以用在 shell 命令行中也可以用在 shell 脚本中。为让您更好地理解 tput,本文首先从命令行讲起,然后紧接着讲述 shell 脚本示例。tput命令将通过 terminfo 数据库对您的终端会话进行初始化和操作。通过使用tput您可以更改几项终端功能,如移动或更改光标、更改文本属性,以及清除终端屏幕的特定区域。我们先看看它的常用参数:

参数

(1)字符串输出参数设置   bel 警铃   blink 闪烁模式   bold 粗体   civis 隐藏光标   clear 清屏   cnorm 不隐藏光标   cup 移动光标到屏幕位置(x,y)   el 清除到行尾   ell 清除到行首   smso 启动突出模式   rmso 停止突出模式   smul 开始下划线模式   rmul 结束下划线模式   sc 保存当前光标位置   rc 恢复光标到最后保存位置   sgr0 正常屏幕   rev 逆转视图 (2)数字输出参数设置   cols 列数目   ittab 设置宽度   lines 屏幕行数 (3)布尔输出参数设置   chts 光标不可见   hs 具有状态行

应用光标属性在 UNIX shell 脚本中或在命令行中,移动光标或更改光标属性可能是非常有用的。有些情况下,您可能需要输入敏感信息(如密码),或在屏幕上两个不同的区域输入信息。在此类情况下,使用 tput 可能会对您有所帮助。移动光标使用 tput 可以方便地实现在各设备上移动光标的位置。通过在 tput 中使用 cup 选项,或光标位置,您可以在设备的各行和各列中将光标移动到任意 X 或 Y 坐标。设备左上角的坐标为 (0,0)。要在设备上将光标移动到第 5 列 (X) 的第 1 行 (Y),只需执行 tput cup 5 1。另一个示例是 tput cup 23 45,此命令将使光标移动到第 23 列上的第 45 行。移动光标并显示信息另一种有用的光标定位技巧是移动光标,执行用于显示信息的命令,然后返回到前一光标位置:

复制代码

代码如下:

(tput sc ; tput cup 23 45 ; echo “Input from tput/echo at 23/45” ; tput rc)

下面我们分析一下 subshell 命令:

复制代码

代码如下:

tput sc

必须首先保存当前的光标位置。要保存当前的光标位置,请包括 sc 选项或“save cursor position”。

复制代码

代码如下:

tput cup 23 45

在保存了光标位置后,光标坐标将移动到 (23,45)。

复制代码

代码如下:

echo “Input from tput/echo at 23/45”

将信息显示到 stdout 中。

复制代码

代码如下:

tput rc

在显示了这些信息之后,光标必须返回到使用 tput sc 保存的原始位置。要使光标返回到其上次保存的位置,请包括 rc 选项或“restore cursor position”。注意:由于本文首先详细介绍了通过命令行执行 tput,因此您可能会觉得在自己的 subshell 中执行命令要比单独执行每条命令然后在每条命令执行之前显示提示更简洁。更改光标的属性在向某一设备显示数据时,很多时候您并不希望看到光标。将光标转换为不可见可以使数据滚动时的屏幕看起来更整洁。要使光标不可见,请使用 civis 选项(例如,tput civis)。在数据完全显示之后,您可以使用 cnorm 选项将光标再次转变为可见。文本属性更改文本的显示方式可以让用户注意到菜单中的一组词或警惕用户注意某些重要的内容。您可以通过以下方式更改文本属性:使文本加粗、在文本下方添加下划线、更改背景颜色和前景颜色,以及逆转颜色方案等。要更改文本的颜色,请使用 setb 选项(用于设置背景颜色)和 setf 选项(用于设置前景颜色)以及在 terminfo 数据库中分配的颜色数值。通常情况下,分配的数值与颜色的对应关系如下,但是可能会因 UNIX 系统的不同而异:0:黑色1:蓝色2:绿色3:青色4:红色5:洋红色6:黄色7:白色执行以下示例命令可以将背景颜色更改为黄色,将前景颜色更改为红色:

复制代码

代码如下:

tput setb 6tput setf 4

要反显当前的颜色方案,只需执行 tput rev。有时,仅为文本着色还不够,也就是说,您想要通过另一种方式引起用户的注意。可以通过两种方式达到这一目的:一是将文本设置为粗体,二是为文本添加下划线。要将文本更改为粗体,请使用 bold 选项。要开始添加下划线,请使用 smul 选项。在完成显示带下划线的文本后,请使用 rmul 选项。

1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: rayer@88.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » Linux中用于更改光标和文本属性的tput命令使用详解

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
织梦模板使用说明
你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html

发表评论

Copyright 2015-2020 版权所有 资源分享吧 Rights Reserved. 蜀ICP备14022927号-1
开通VIP 享更多特权,建议使用QQ登录