Bash功能,返回粗体文字

时间:2013-04-30 06:53:21

标签: bash function text bold

我正在尝试编写一个返回粗体文本的简单bash函数。我到目前为止编写的代码是:

function txt_bold() {<br>
    echo -e '\033[1m$1\033[0m$2'<br>
    tput sgr0<br>
}

当我写txt_bold "This is bold" "And this in plain text"时,它会返回“$ 1 $ 2”(粗体1美元)。我在这里做错了什么?

1 个答案:

答案 0 :(得分:3)

使用"代替'

function txt_bold() {
  echo -e "\033[1m$1\033[0m$2"
  tput sgr0
}

在单引号内变量不会扩展。

以下是本文的底线,可能有助于您理解它:What’s the Difference Between Single and Double Quotes in the Bash Shell?

双引号

  • 当您想要包含变量或在字符串中使用shell扩展时使用。
  • 其中的所有字符都被解释为常规字符,但$或`将在shell上展开。

单引号

  • 单引号内的所有字符都被解释为字符串字符。