bash não sabe nada sobre a variável COLORm . Mas o exemplo a seguir funcionará
COLOR="0;31m"
echo -e "\e[0$COLOR \RED\e[0m"
Estou com o seguinte problema:
No bash eu configurei:
COLOR="0;31" #red color
Se eu fizer
echo -e "\e[00;31mRED\e[00m"
Eu obtenho
RED < - na cor vermelha no terminal
No entanto, se eu fizer
echo -e "\e[0$COLORm \RED\e[00m"
Acabei de receber
RED < - sem cores
Como posso imprimir usando cores e minha variável $COLOR ?
bash não sabe nada sobre a variável COLORm . Mas o exemplo a seguir funcionará
COLOR="0;31m"
echo -e "\e[0$COLOR \RED\e[0m"
Use ${var} - por ex. \e[0;${COLOR}m - para separar o nome da variável do texto circundante.
Como alternativa, use printf "\e[0;%sm %s \e[m\n" "$COLOR" "RED"
(Nota: \e[00;31m não é necessário; \e[0;31m ou apenas \e[;31m é bom. O mesmo se aplica a \e[00m )
Use chaves para isolar o nome da variável e eliminar a ambigüidade nas expressões em que os nomes das variáveis são adjuntos a alguns caracteres literais (como $ {hello} world) ou a outros locais complicados:
Tags command-line bash