0

我正在尝试编写一个返回粗体文本的简单 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 粗体)。我在这里做错了什么?

4

1 回答 1

3

使用"而不是'.

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

短的

在单引号内变量没有得到扩展。

下面是本文的底线,可能有助于您理解它:Bash Shell 中的单引号和双引号有什么区别?

双引号

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

单引号

  • 单引号内的所有字符都被解释为字符串字符。
于 2013-04-30T06:57:55.433 回答