Formatar o terminal com cores e efeitos

Publicado por Joanes Pereira Duarte (última atualização em 08/11/2012)

[ Hits: 7.319 ]

Download 5587.cores.sh




Este script é baseado no livro do Aurélio Marinho Jargas. Fiz como exercício para meu aprendizado. Como já "suguei" muito conhecimento do site, resolvi postar para contribuir e talvez ajudar alguém, assim como muitas vezes fui ajudado aqui :)

Em resumo, este script serve para testar a combinação de cores de palavras/frases com cores de fundo. No meio tem algumas "firulas", como "limpar a tela", mostrar mensagem por um tempo e apagar... Coisa de principiante mesmo!

Enfim, segue o dito-cujo...

  



Esconder código-fonte

#!/bin/bash
# cores.sh
# Baseado no livro Shell  Script Profissiona de Aurélio Jargas
#
# Versão 1: Formata cor do texto e fundo de palavra ou texto 
# passada como parâmetro.
#
# Joanes Duarte, Outubro 2012
#
###########################################
# Exemplo: $./cores.sh teste                                                     #
# Obs.: Frases com espaços devem ser passadas entre aspas ("")#
###########################################

# Variáveis
_TEXTO_BRILHO=0
_FUNDO_PISCA=0
_USO="
Uso: $(basename "$0") [palavra]
Obs.: Caso queira formatar uma frase, coloque-a entre aspas duplas.
"

if [ -z $1]
then
   echo "$_USO"
   exit
fi

clear

# Seleção das opções de cores do texto
echo "Escolha a opção de cor do texto:"
echo "
[30] PRETO (OU CINZA)   [31] VERMELHO
[32] VERDE      [33] MARROM (OU AMARELO)
[34] AZUL      [35] ROXO
[36] CIANO      [37] CINZA (OU BRANCO)
"
read COR

case $COR in
   30) _COR_TEXTO=30 ;;
   31) _COR_TEXTO=31 ;;
   32) _COR_TEXTO=32 ;;
   33) _COR_TEXTO=33 ;;
   34) _COR_TEXTO=34 ;;
   35) _COR_TEXTO=35 ;;
   36) _COR_TEXTO=36 ;;
   37) _COR_TEXTO=37 ;;
    *) clear && echo "Opções de cores do texto entre 30 e 37." 
       sleep 3; clear; exit
   ;;
esac

clear

# Seleção das opções da cor de fundo
echo "Escolha a opção de cor de fundo do texto:"
echo "
[40] PRETO (OU CINZA)   [41] VERMELHO
[42] VERDE              [43] MARROM (OU AMARELO)
[44] AZUL               [45] ROXO
[46] CIANO              [47] CINZA (OU BRANCO)
"
read FUNDO

case $FUNDO in
        40) _COR_FUNDO=40 ;;
        41) _COR_FUNDO=41 ;;
        42) _COR_FUNDO=42 ;;
        43) _COR_FUNDO=43 ;;
        44) _COR_FUNDO=44 ;;
        45) _COR_FUNDO=45 ;;
        46) _COR_FUNDO=46 ;;
        47) _COR_FUNDO=47 ;;
         *) clear && echo "Opções de cores de fundo entre 40 e 47."
       sleep 3; clear; exit
    ;;
esac

clear

# Opção para mostrar o texto "brilhante"
echo "Mostrar cor do texto brilhante?"
echo "
[S]im      [N]ão
"
read BRILHANTE
case $BRILHANTE in
   S | s) _TEXTO_BRILHO=1 ;;
   N | n) _TEXTO_BRILHO=0 ;;
       *) clear && echo "Somente S ou N."
          sleep 3; clear; exit
        ;;
esac

clear

# Opção para mostrar o fundo pisca-pisca
echo "Mostrar fundo PISCA-PISCA?"
echo "
[S]im      [N]ão
"
read PISCA
case $PISCA in
        S | s) _FUNDO_PISCA=5 ;;
        N | n) _FUNSO_PISCA=0 ;;
            *) clear && echo "Somente S ou N."
         sleep 3; clear; exit
        ;;
esac

clear

# Formata opções de cor de fundo e cor do texto
texto_formatado="$_COR_FUNDO;$_COR_TEXTO"

# Testa as opções de 'fundo pisca-pisca' e 'texto brilhante'
test "$_TEXTO_BRILHO" = 1 && texto_formatado="$texto_formatado;1"
test "$_FUNDO_PISCA"  = 5 && texto_formatado="$texto_formatado;5"

# Mostra formatação ao usuário
echo -e '{FONTE}33['"$texto_formatado"'m' "$1" '{FONTE}33[m'

Scripts recomendados

Fibonacci em bash shell

Compartilhamento de internet 3g para uma rede domésctica

Tc - Iproute 2

Atualizações do Insigne

Verificando espaço de Disco usando Dialog


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts