我有一个echo
在 Bash 终端中打印蓝色条的调用:
echo $'\e[48;2;0;0;255m \e[0m'
我想向它传递一些变量,例如(这不起作用):
rgb_blue=42
echo $'\e[48;2;0;0;"$rgb_blue"m \e[0m
有什么办法可以做到这一点吗?我尝试了在 Bash 中连接字符串的常用方法,但没有一个起作用。
答案1
变量不会在单引号内展开。但你需要$' '
颜色。所以你需要将两者结合起来。像这样的东西应该有效:
echo $'\e[48;2;0;0;'"${rgb_blue}"$'m \e[0m'
或者,可能更简单:
printf '\e[48;2;0;0;%dm \e[0m\n' "$rgb_blue"