使用脚本打印彩色文本

使用脚本打印彩色文本

当我在 shell 中输入以下命令时,我得到绿色的输出。

命令

echo "\033[32mCONNECTING TO abpwrk\033[m";

输出(绿色)

CONNECTING TO abpwrk

但是,如果我在一个小的单行脚本中使用相同的语句并执行它。然后我会得到输出(白色)。

\033[32mCONNECTING TO abpwrk\033[m

我在脚本中缺少什么。我需要定义一些额外的参数来启动颜色吗?我正在使用 k-shell。

答案1

您可能正在使用具有不同实现的不同 shell echo。至少在bashecho 的实现中,默认情况下不启用转义序列的解释(您必须使用开关启用它-e)。

无论如何,printf环境之间通常更加一致。尝试使用以下内容代替:

_host=abpwrk ; printf '\033[32mCONNECTING TO %s\033[m\n' "$_host"

相关内容