【问题标题】:Coloring a variable in "read -p" command在 \"read -p\" 命令中为变量着色
【发布时间】:2023-02-01 19:54:36
【问题描述】:

我想在“read -p”命令中为变量着色。在另一个主题中我发现 一种为文本字符串着色的方法,如下所示:

read -p $'\e[31mFoobar\e[0m: ' <= works

但是,如果我放置一个变量而不是“Foobar”,则不会显示该值,因为单引号会阻止变量 $mmd 的调用。

read -p $'\e[31m $mmd \e[0m: ' <= doesnt ork

你知道做这个工作的方法吗?

我试过了:

read -p $'\e[31m $mmd \e[0m: ' <= doesnt work

read -p $"\e[31m $mmd \e[0m: " <= doesnt work

【问题讨论】:

    标签: linux bash command


    【解决方案1】:

    您可以终止并重新启动转义序列,这会将变量扩展移到外面,如下所示:

    pax:~> export mmd="What? "
    pax:~> read -p $'e[31m'"${mmd}"$'e[0m: '
    What? : hello<enter>
    pax:~> echo ${REPLY}
    hello
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-08
      • 2015-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-06
      • 1970-01-01
      • 2019-11-27
      相关资源
      最近更新 更多