Echo命令的语法 - Bash中的ANSI颜色样式

时间:2016-09-09 14:45:55

标签: linux bash shell echo

在Mac上运行Bash 3.2。在终端中,我输入以下echo命令,它返回带有绿色背景和蓝色字体的文本:

echo "\033[34;42mThis is colored.\033[0m This is not colored."

我想在bash脚本中捕获此命令,但无法正常显示。

对bash来说很新,所以这是我迄今为止所发现的:

  • 我知道单引号''意味着按照字面意思显示它,这不是我想要的
  • 它必须是var=$(command)格式,因此解释器知道将其作为命令运行
  • 然后我输入echo $var
  • 来显示变量

那么在bash脚本中编写此命令的正确方法是什么?作为bash的初学者,还有其他重要的事情我应该知道吗?感谢。

my.sh

#!/bin/bash

teepee=$(echo "\033[34;42mThis is colored.\033[0m This is not colored.")
echo $teepee

1 个答案:

答案 0 :(得分:0)

经过一番挖掘后,我需要将-e选项添加到echo命令,该命令启用反斜杠解释(查找更多信息here

#!/bin/bash

teepee=$(echo -e "\033[34;42mThis is colored.\033[0m This is not colored.")
echo $teepee #works as expected