关于shell:在bash中改变整行的颜色

change colour of a the whole line in bash

本问题已经有最佳答案,请猛点这里访问。

我想改变我得到的echo整条线的颜色。我怎么办?我正在使用zsh shell。我使用的终端是ITerm。请帮忙。谢谢。我和Macos Sierra 10.12.5在Mac上。我写了一个bash脚本,就是echo"World is green"。请帮帮我。


使用

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

要将前景颜色更改为绿色(2)并在以后重置它(您可以使用其他数字进行实验)。

为了澄清问题,终端可以改变显示颜色,而与bash或zsh无关,在本例中,它们只发送正确的序列,正如您看到的那样(在我的Linux终端中)。

1
2
3
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.