Formatar o terminal com cores e efeitos
Publicado por Joanes Pereira Duarte (última atualização em 08/11/2012)
[ Hits: 8.398 ]
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'
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
O widget do Plasma 6 Área de Notificação
[Resolvido] Algo deu errado ao abrir seu perfil
Quando vocês pararam de testar distros? (14)
Problema com som no laptop (3)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









