【问题标题】:change colour of a the whole line in bash [duplicate]在bash中更改整行的颜色[重复]
【发布时间】:2018-02-03 14:31:50
【问题描述】:

我想改变我得到的echo 整行的颜色。我如何能?我正在使用 zsh 外壳。我使用的终端是 iTerm。请帮忙。谢谢。我在装有 macOS Sierra 10.12.5 的 Mac 上。我写了一个 bash 脚本,它就是echo "World is green"。请帮忙。

【问题讨论】:

标签: bash shell


【解决方案1】:

使用

echo "$(tput setaf 2)World is green$(tput sgr0)"

将前景色更改为绿色 (2) 并稍后重置(您可以尝试其他数字)。

只是为了澄清一下,终端是可以更改显示颜色的人,与 bash 或 zsh 无关,在这种情况下,它只是发送正确的序列,正如你所看到的运行(在我的 Linux 终端中)

echo "$(tput setaf 2)World is green$(tput sgr0)" | xxd
00000000: 1b5b 3332 6d57 6f72 6c64 2069 7320 6772  .[32mWorld is gr
00000010: 6565 6e1b 2842 1b5b 6d0a                 een.(B.[m.

【讨论】:

  • 工作完美,但我收到tput: unknown terminfo capability 'gr0'。我该怎么办?还告诉我做粗体、斜体、下划线和删除线。谢谢。
  • 我的错。对不起。在(tput srg0) 之前没有包含$。还告诉我做粗体、斜体、下划线和删除线。谢谢。
  • man terminfo 你可以查看能力名称
猜你喜欢
  • 1970-01-01
  • 2015-04-24
  • 1970-01-01
  • 2012-08-03
  • 1970-01-01
  • 2011-07-06
  • 1970-01-01
  • 2022-01-12
  • 2017-07-25
相关资源
最近更新 更多