【发布时间】:2020-04-09 20:12:19
【问题描述】:
我正在尝试将颜色名称作为参数传递以更改该打印的字体颜色。我还想根据传递的颜色打印信息类型,如 INFO、ERR、SUCC、CMD 等。
功能是
red=ERR
grn=SUCC
yel=WARN
blu=INFO
mag=STAT
cyn=CMD
ERR=31
SUCC=32
WARN=33
INFO=34
STAT=35
CMD=36
end=$'\e[0m'
Print() {
printf "\033[1;${!{!1}}m${!1} $3\033[0m\n"
}
并使用
调用Print red "text"
预期输出
[ ERR] text <------IN RED
实际输出
*\033[1;${!{!1}}m${!1} $3\033[0m\n: bad substitution*
【问题讨论】: