Aliases Cores

Publicado por Marcelo Oliver em 25/02/2021

[ Hits: 1.750 ]

 


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.

#!/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 '')
Linux: Aliases Cores
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.

Outras dicas deste autor

Par ou Impar?

Leitura recomendada

MyIP - Facilitador para obter endereço IP externo

Fancy Git

Wallpaper Slideshow no LXDE

Backup para fita DDS4

Pacman - Turbinado com Aria2c

  

Comentários
[1] Comentário enviado por msoliver em 25/02/2021 - 20:33h

Na postagem da dica, o "site" interpreta a nova linha "\n", e o "escape" do "\e",
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
______________________________________________________________________


[2] Comentário enviado por removido em 26/02/2021 - 10:41h


[1] Comentário enviado por msoliver em 25/02/2021 - 20:33h

Na postagem da dica, o "site" interpreta a nova linha "\n", e o "escape" do "\e",
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
______________________________________________________________________


Olá, obrigado por reportar.
Foi corrigido, veja se está de acordo.

[3] Comentário enviado por maurixnovatrento em 26/02/2021 - 12:50h



Muito bom.
___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts