【发布时间】:2018-02-03 14:31:50
【问题描述】:
我想改变我得到的echo 整行的颜色。我如何能?我正在使用 zsh 外壳。我使用的终端是 iTerm。请帮忙。谢谢。我在装有 macOS Sierra 10.12.5 的 Mac 上。我写了一个 bash 脚本,它就是echo "World is green"。请帮忙。
【问题讨论】:
我想改变我得到的echo 整行的颜色。我如何能?我正在使用 zsh 外壳。我使用的终端是 iTerm。请帮忙。谢谢。我在装有 macOS Sierra 10.12.5 的 Mac 上。我写了一个 bash 脚本,它就是echo "World is green"。请帮忙。
【问题讨论】:
使用
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 你可以查看能力名称