当前位置: 首页 > article >正文

Linux shell编程学习笔记27:tputs

除了stty命令,我们还可以使用tput命令来更改终端的参数和功能。

1 tput 命令的功能

tput 命令的主要功能有:移动更改光标、更改文本显示属性(如颜色、下划线、粗体),清除屏幕特定区域等。

2 tput 命令格式

 tput [选项] [参数]

 

3 设置文本颜色属性

3.1 tput setaf / setbf :设置前景色 / 背景色

命令格式:

  •   tput setab n : 设置背景色,set text attributes background color
  •   tput setaf  n : 设置前景色,set text attributes front color


​参数n:

  •   0 – Black,黑色
  •   1 – Red,红色
  •   2 – Green,绿色
  •   3 – Yellow,黄色
  •   4 – Blue,蓝色
  •   5 – Magenta,品红
  •   6 – Cyan,青色
  •   7 – White,白色


例子:设置前背景色为黄色(3),背景色为品红(5)。

csdn @ edu bash ~ $ tput setaf 3 setab 5 
csdn @ edu bash ~ $ tput  setab 5 
csdn @ edu bash ~ $ 

看来不能在一个命令中同时设置前景色和背景色,要分开来用两个命令分别设置。

csdn @ edu bash ~ $ tput setaf 3; tput setab 5 
csdn @ edu bash ~ $ 

3.2 tput rev:反显当前的颜色方案

rev源自reverse。

csdn @ edu bash ~ $ tput setaf 3; tput setab 5 
csdn @ edu bash ~ $ tput rev
csdn @ edu bash ~ $ 


4 设置文本模式属性

命令功能
tput bold加粗字体
tput dim打开高亮模式,turn on half-bright mode
tput smul添加下划线,start mode of underline,
tput rmul 取消下划线,remove mode of underline
tput smso突出模式,start mode of standout
tput rmso反显突出模式,reverse mode of standout
tput sgr0set global attributes return to 0, 取消所有属性

csdn @ edu bash ~ $ tput setaf 3; tput setab 5 
csdn @ edu bash ~ $ tput smso
csdn @ edu bash ~ $ tput rmso
csdn @ edu bash ~ $ tput smul
csdn @ edu bash ~ $ tput bold
csdn @ edu bash ~ $ tput rmul
csdn @ edu bash ~ $ tput dim
csdn @ edu bash ~ $ tput sgr0

csdn @ edu bash ~ $

5 设置光标属性

命令功能
tput clear清屏
tput sc保存当前光标位置,save curosr position
tput rc恢复光标位置,restore cursor postion
tput cup row column将光标移动到指定行row和列column,
tput civis 光标不可见,cursor invisible
tput cnorm光标可见,cursor mormal
tpu init清空格式

我们将执行以下命令序列:

tput clear                   # 清屏
tput sc                      # 保存当前光标位置
tput cup 10 13               # 将光标移动到第10行第13列
echo -n Enter your password: # 提示用户输入密码
tput civis                   # 光标不可见
read p                       # 将用户输入的密码保存到变量p中
tput cnorm                   # 光标可见
tput rc                      # 恢复光标位置
echo your password: $p       # 显示用户输入的密码

csdn @ edu bash ~ $ tput clear;tput sc;tput cup 10 13;echo -n Enter your password:;tput civis; read p; tput cnorm; tput rc; echo your password: $p 

 

6 其它功能

命令功能
tput lines 显示行数
tpus cols显示列数
tput reset  重置终端设置
tput longname显示当前终端类型的长名称
tput hs        具有状态行

csdn @ edu bash ~ $ tput lines
22
csdn @ edu bash ~ $ tput cols
132
csdn @ edu bash ~ $ tput longname
xterm terminal emulator (X Window System)csdn @ edu bash ~ $ 

 


http://www.kler.cn/a/133086.html

相关文章:

  • 十堰市数据治理:大数据治理在智慧城市中的应用探索
  • eBPF on Go
  • 加速 AI 创新:引入 Elastic AI 生态系统
  • 蓝桥杯——数组
  • 【机器学习】机器学习中用到的高等数学知识-1.线性代数 (Linear Algebra)
  • Tomcat 8.5 源码导读
  • 【ROS导航Navigation】五 | 导航相关的消息 | 地图 | 里程计 | 坐标变换 | 定位 | 目标点和路径规划 | 激光雷达 | 相机
  • jQuery UI简单的讲解
  • pandas定位选取某列某指标最大值所在的行记录,比如月底
  • Java20新增特性
  • AIGC 是通向 AGI 的那条路吗?
  • 复杂数据统计与R语言程序设计实验二
  • 计算机网络学习笔记(六):应用层(待更新)
  • Linux发展历程
  • 基于STM32的外部中断(EXTI)在嵌入式系统中的应用
  • 2023.11.18 -自用hadoop高可用环境搭建命令
  • 【SQL】简单博客开发代码
  • 客户端性能优化实践
  • 特征缩放和转换以及自定义Transformers(Machine Learning 研习之九)
  • 飞书开发学习笔记(八)-开发飞书小程序Demo
  • 牛客 —— 链表中倒数第k个结点(C语言,快慢指针,配图)
  • Linux网络——HTTP
  • Swift 如何打造兼容新老系统的字符串分割(split)方法
  • <C++>类和对象下|初始化列表|explicit static|友元|内部类|匿名对象|构造函数的优化
  • vue-组件通信(二)
  • DHCP协议详解