Formatar o terminal com cores e efeitos
Publicado por Joanes Pereira Duarte (última atualização em 08/11/2012)
[ Hits: 8.490 ]
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...
#!/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'
Cálculo de Índice de Massa Corporal
Script para verficar se um pacote está instalado no Slackware
Instalação Zabbix-agent CentOS5
Nenhum comentário foi encontrado.
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Sway no Arch Linux: configuração Inicial sem enrolação
Resolvendo o bloqueio do Módulo Warsaw no Arch Linux (Porta 30900)
Continuando meus tópicos anteriores (0)
Saída de loop após teste de if. (2)
Governo da França vai trocar Windows por Linux (9)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 [RESOLVIDO] (9)









