当我在 shell 中输入以下命令时,我得到绿色的输出。
命令
echo "\033[32mCONNECTING TO abpwrk\033[m";
输出(绿色)
CONNECTING TO abpwrk
但是,如果我在一个小的单行脚本中使用相同的语句并执行它。然后我会得到输出(白色)。
\033[32mCONNECTING TO abpwrk\033[m
我在脚本中缺少什么。我需要定义一些额外的参数来启动颜色吗?我正在使用 k-shell。
答案1
您可能正在使用具有不同实现的不同 shell echo
。至少在bash
echo 的实现中,默认情况下不启用转义序列的解释(您必须使用开关启用它-e
)。
无论如何,printf
环境之间通常更加一致。尝试使用以下内容代替:
_host=abpwrk ; printf '\033[32mCONNECTING TO %s\033[m\n' "$_host"