zoukankan      html  css  js  c++  java
  • shell 终端terminfo命令 tput

    tput命令

    tput 可以更改终端功能,如移动或更改光标,更改文本属性,清除终端屏幕的特定区域等。

    光标属性

    在shell脚本或命令行中,可以利用tput命令改变光标属性。

    tput clear      # 清除屏幕
    tput sc         # 记录当前光标位置
    tput rc         # 恢复光标到最后保存位置
    tput civis      # 光标不可见
    tput cnorm      # 光标可见
    tput cup x y    # 光标按设定坐标点移动
    

    利用上面参数编写一个终端时钟

    #!/bin/bash
    
    for ((i=0;i<10;i++))
    do
            tput sc; tput civis                     # 记录光标位置,及隐藏光标
            echo -ne $(date +'%Y-%m-%d %H:%M:%S')   # 显示时间
            sleep 1
            tput rc                                 # 恢复光标到记录位置
    done
    
    tput el; tput cnorm                             # 退出时清理终端,恢复光标显示
    

    效果如图

    image

    文本属性

    tput可使终端文本加粗、在文本下方添加下划线、更改背景颜色和前景颜色,以及逆转颜色方案等。

    tput blink      # 文本闪烁
    tput bold       # 文本加粗
    tput el         # 清除到行尾
    tput smso       # 启动突出模式
    tput rmso       # 停止突出模式
    tput smul       # 下划线模式
    tput rmul       # 取消下划线模式
    tput sgr0       # 恢复默认终端
    tput rev        # 反相终端
    

    此外,还可以改变文本的颜色

    tput setb 颜色代号
    tput setf 颜色代号
    

    颜色代号为

    0:黑色
    1:蓝色
    2:绿色
    3:青色
    4:红色
    5:洋红色
    6:黄色
    7:白色
    

    现在为"终端时钟"添加,变换颜色和闪烁功能

    #!/bin/bash
    
    for ((i=0;i<8;i++))
    do
            tput sc; tput civis                     # 记录光标位置,及隐藏光标
            tput blink; tput setf $i                # 文本闪烁,更改文本颜色
            echo -ne $(date +'%Y-%m-%d %H:%M:%S')   # 显示时间
            sleep 1
            tput rc                                 # 恢复光标到记录位置
    done
    
    tput el; tput cnorm                             # 退出时清理终端,恢复光标显示
    
    

    效果如图

    image

  • 相关阅读:
    bzoj 3944 Sum
    [BZOJ2693]jzptab
    luogu 3768 简单的数学题
    [ZJOI2015]幻想乡战略游戏
    [SDOI2017]数字表格
    [ZJOI2007]Hide 捉迷藏
    [SDOI2016]游戏
    [SPOJ10707]Count on a tree II
    [Luogu4177][CEOI2008]order
    [BZOJ4491]我也不知道题目名字是什么
  • 原文地址:https://www.cnblogs.com/technologylife/p/8275044.html
Copyright © 2011-2022 走看看