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

用 ANSI Escape Code 改变 Shell 文字样式

  •  
  •   adoyle ·
    adoyle-h · Jun 14, 2019 · 3636 views
    This topic created in 2557 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
        1
    msg7086  
       Jun 14, 2019
    我 zsh 下直接可以用
    echo -e "this is ${fg[red]}red${reset_color}"
    adoyle
        2
    adoyle  
    OP
       Jun 14, 2019
    @msg7086 恩,只不过我不是 zsh 用户…
    ggicci
        3
    ggicci  
       Jun 17, 2019
    zsh 好用,咧嘴一笑
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2872 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 08:33 · PVG 16:33 · LAX 01:33 · JFK 04:33
    ♥ Do have faith in what you're doing.