Aliases Cores
Dica publicada em Shell Script / Miscelânea
Aliases Cores
O pequeno script apresentado cria 16 aliases para "mostrar" o texto colorido no terminal. Dessa forma não é mais necessário "decorar" o código das cores e nem "lotar" os scripts com as variáveis das cores. Um simples "ecovd Texto" mostra o texto na cor verde.
source .bashrc
Feito isso, execute o comando abaixo, e serão testados os 16 aliases criados e é mostrado o nome de cada alias:
eval $(sed 's/.*/eco& Cor alias: eco& ;/' cor.txt|paste -sd '')
Agora basta usar o alias para a cor desejada em seus scripts. Por exemplo, para um texto roxo usa-se:
ecolc texto roxo
É isso, espero que possa ser útil.
#!/usr/bin/env bash
dest=~/.bash_aliases;
cor=(pt vm vd mr az ll fe gl cz rc vc am ac lc fc br);
printf "%s\n" ${cor[@]} > cor.txt;wait;
awk '{printf " alias eco%s=#_eco%s(){ echo -e \"\\e[1;38;5;%02dm""$@""\\e[m\";};_eco%s#\n",$0,$0,NR-1,$0,$0}' cor.txt|sed "s/#/'/g" >> ${dest}
Testando
Primeiramente, execute:source .bashrc
Feito isso, execute o comando abaixo, e serão testados os 16 aliases criados e é mostrado o nome de cada alias:
eval $(sed 's/.*/eco& Cor alias: eco& ;/' cor.txt|paste -sd '')

ecolc texto roxo
É isso, espero que possa ser útil.
desse modo o comando fica errado.....
Postando novamente, na expectativa dos escapes não serem interpretados pelo "site"
#--------------------------------------------------------------------------------------------------------#
#!/usr/bin/env bash
dest=~/.bash_aliases;
cor=(pt vm vd mr az ll fe gl cz rc vc am ac lc fc br);
printf "%s\n" ${cor[@]} > cor.txt;wait;
awk '{printf " alias eco%s=#_eco%s(){ echo -e \"\\e[1;38;5;%02dm""$@""\\e[m\";};_eco%s#\n",$0,$0,NR-1,$0,$0}' cor.txt|sed "s/#/'/g" >> ${dest}
#--------------------------------------------------------------------------------------------------------#
Os erros ocorrem em:
printf "%sBarraEne" ${cor[@]} > cor.txt;wait;
awk '{printf " alias eco%s=#_eco%s(){ echo -e \"Barra\e[1;38;5;%02dm""$@""Barra\e[m\";};_eco%s#BarraEne",$0,$0,NR-1,$0,$0}' cor.txt|sed "s/#/'/g" >> ${dest}
______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________