• [Linux]屏幕输出控制


    专门的术语叫做ANSI Escape sequences(ANSI Escape codes),题目并不恰当,与其说是屏幕输出控制,不如说是通过bash在兼容VT100的终端上进行输出。

    主要有以下类别:

    Esc[Value;...;Valuem -- 控制输出效果
    Esc[Line;ColumnH
    Esc[Line;Columnf -- 更改光标位置

    以上控制符主要通过echo进行输出,其中Esc不是三个字母,而是ASCII的ESC字符'33'或者'E',需要进行转义。

    因为echo分为系统程序和bash的builtin等等,实现略有差异。有的echo需要使用-e参数,有的echo不支持'E'转义,需要用户自行判别。

    此外其他可以向终端输出的程序,理论上也可以使用这些控制符,例如C语言的printf,python的print等等,不再赘述。

    1. 控制输出效果

    Esc[Value;...;Valuem

    Value控制各种效果,例如前景色、背景色、粗体等等,可以在单个 Esc[Value;...;Valuem 中组合多个Value,也可以连续使用多个 Esc[Value;...;Valuem 进行。同类别的Value,后者覆盖前者。

    一个例外是 Esc[0m,Value=0并且不与其他设置相组合,此时不仅仅覆盖同组的设置,还会清除之前的所有设置。Value列表如下:

    Value 含义
    关闭所有效果
    0 关闭所有效果
    1 粗体
    2 暗色
    4 下划线
    5 (闪烁)*
    7 反相
    8 隐藏(隐藏)

    注:很多终端下闪烁无效

    Value 含义 Value 含义
    30 前景色黑色 40 背景色黑色
    31 前景色红色 41 背景色红色
    32 前景色绿色 42 背景色绿色
    33 前景色黄色 43 背景色黄色
    34 前景色蓝色 44 背景色蓝色
    35 前景色品红 45 背景色品红
    36 前景色青色 46 背景色青色
    37 (前景色白色) 47 背景色白色

    2. 控制光标位置

    Esc[Line;ColumnH
    Esc[Line;Columnf

    更改光标的位置,行与列均从0开始。Line或者Column留空表示0

  • 相关阅读:
    Mysql_大字段问题Row size too large.....not counting BLOBs, is 8126.
    Pycharm快捷键设置(鼠标滚动控制字体大小)
    python实现将base64编码的图片下载到本地
    [CentOS_7.4]Linux编译安装ffmpeg
    contenOs7
    文本特征提取方法研究
    Mahout中相似度计算方法介绍
    基于Mahout的电影推荐系统
    向Python女神推荐这些年我追过的经典书籍
    Mahout推荐算法API详解
  • 原文地址:https://www.cnblogs.com/SelaSelah/p/3475849.html
Copyright © 2020-2023  润新知