Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
adoyle
V2EX  ›  Linux

用 ANSI Escape Code 改变 Shell 文字样式

  •  
  •   adoyle ·
    adoyle-h · Jun 14, 2019 · 4002 views
    This topic created in 2699 days ago, the information mentioned may be changed or developed.

    改变 Shell 文字样式,本质上就是用 ANSI Escape Code 来改变终端模拟器的行为,可以做到很多事,比如改变文字颜色,文字闪烁,改变鼠标位置,清屏等等。比如执行 echo -e '\e[2J' 来清屏,或者 echo -e '\e[2J\e[u' 清屏并重置鼠标位置(跟 ctrl-l 同样效果)。这也跟 tput 命令是异曲同工的。

    看了一些文章,还是挺有趣的,分享给大家。

    然后我写了一个简单的生成这些变量的命令行脚本: https://github.com/adoyle-h/shell-general-colors

    其实也有类似的工具 ansi,只是我觉得调用函数还是有点慢,不如直接调用变量。写死变量可能会造成命名冲突,于是做成一个生成器。

    3 replies  •  2019-06-17 14:36:45 +08:00
    msg7086
    msg7086
    Jun 14, 2019
    1
    我 zsh 下直接可以用
    echo -e "this is ${fg[red]}red${reset_color}"
    adoyle
    adoyle
    OP
    Jun 14, 2019
    2
    @msg7086 恩,只不过我不是 zsh 用户…
    ggicci
    ggicci
    Jun 17, 2019
    3
    zsh 好用,咧嘴一笑
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4986 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 07:23 · PVG 15:23 · LAX 23:23 · JFK 02:23
    ♥ Do have faith in what you're doing.