Formatar o terminal com cores e efeitos

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

[ Hits: 8.014 ]

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

Backup PostgreSql por DataBases

Mostrar detalhes dispositivo de Hardware

Verificando se uma placa de rede está presente

Telegram Installer

Bloqueio e desbloqueio de contas de usuários


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts